Skip to content

Commit

Permalink
Bump argset coverage to 100%
Browse files Browse the repository at this point in the history
  • Loading branch information
cjdrake committed May 28, 2015
1 parent b5701b3 commit 7d554ce
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 20 deletions.
17 changes: 4 additions & 13 deletions extension/boolexpr/argset.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,8 @@ BoolExprOrAndArgSet_Insert(struct BoolExprOrAndArgSet *argset, struct BoolExpr *
}

// x | x = x ; x & x = x
if (!BoolExprSet_Insert(argset->xs, key))
return false; // LCOV_EXCL_LINE
argset->min = false;

return true;
return BoolExprSet_Insert(argset->xs, key);
}


Expand Down Expand Up @@ -165,10 +162,7 @@ BoolExprXorArgSet_Insert(struct BoolExprXorArgSet *argset, struct BoolExpr *key)
return true;
}

if (!BoolExprSet_Insert(argset->xs, key))
return false; // LCOV_EXCL_LINE

return true;
return BoolExprSet_Insert(argset->xs, key);
}


Expand Down Expand Up @@ -227,19 +221,16 @@ BoolExprEqArgSet_Insert(struct BoolExprEqArgSet *argset, struct BoolExpr *key)
if (IS_LIT(key) || IS_NOT(key)) {
struct BoolExpr *ex = Not(key);
if (BoolExprSet_Contains(argset->xs, ex)) {
BoolExprSet_Clear(argset->xs);
argset->zero = true;
argset->one = true;
BoolExprSet_Clear(argset->xs);
BoolExpr_DecRef(ex);
return true;
}
BoolExpr_DecRef(ex);
}

/* Equal(x, x, y) = Equal(x, y) */
if (!BoolExprSet_Insert(argset->xs, key))
return false; // LCOV_EXCL_LINE

return true;
return BoolExprSet_Insert(argset->xs, key);
}

32 changes: 25 additions & 7 deletions extension/boolexpr/test/test_argset.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ TEST_F(BoolExprArgSetTest, XorBasic)
TEST_F(BoolExprArgSetTest, EqBasic)
{
struct BoolExprEqArgSet *a = BoolExprEqArgSet_New();
struct BoolExprEqArgSet *b = BoolExprEqArgSet_New();
struct BoolExprEqArgSet *c = BoolExprEqArgSet_New();

BoolExprEqArgSet_Insert(a, xs[0]);
BoolExprEqArgSet_Insert(a, xs[1]);
Expand All @@ -129,21 +131,37 @@ TEST_F(BoolExprArgSetTest, EqBasic)
EXPECT_TRUE(a->one);
EXPECT_EQ(a->xs->length, 0);

BoolExprEqArgSet_Del(a);

struct BoolExprEqArgSet *b = BoolExprEqArgSet_New();

BoolExprEqArgSet_Insert(b, xs[0]);
BoolExprEqArgSet_Insert(b, xs[1]);
BoolExprEqArgSet_Insert(b, xs[2]);
EXPECT_FALSE(b->zero);
EXPECT_FALSE(b->one);
EXPECT_EQ(b->xs->length, 3);
BoolExprEqArgSet_Insert(b, xns[1]);
EXPECT_EQ(b->xs->length, 2);

BoolExprEqArgSet_Insert(b, &One);
BoolExprEqArgSet_Insert(b, &Zero);
EXPECT_TRUE(b->zero);
EXPECT_TRUE(b->one);
EXPECT_EQ(b->xs->length, 0);

BoolExprEqArgSet_Insert(b, xs[2]);
BoolExprEqArgSet_Insert(b, xs[3]);
EXPECT_TRUE(b->zero);
EXPECT_TRUE(b->one);
EXPECT_EQ(b->xs->length, 0);

BoolExprEqArgSet_Insert(c, xs[0]);
BoolExprEqArgSet_Insert(c, xs[1]);
BoolExprEqArgSet_Insert(c, xs[2]);
EXPECT_FALSE(c->zero);
EXPECT_FALSE(c->one);
EXPECT_EQ(c->xs->length, 3);
BoolExprEqArgSet_Insert(c, xns[1]);
EXPECT_TRUE(c->zero);
EXPECT_TRUE(c->one);
EXPECT_EQ(c->xs->length, 0);

BoolExprEqArgSet_Del(a);
BoolExprEqArgSet_Del(b);
BoolExprEqArgSet_Del(c);
}

0 comments on commit 7d554ce

Please sign in to comment.