mirror of
https://github.com/Z3Prover/z3
synced 2025-05-06 15:25:46 +00:00
ensure that assertions within the unit tests are exercised in all build modes, remove special handling of SASSERT for release mode #1163
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
3f8b63f5a8
commit
b1298d7bde
67 changed files with 1277 additions and 1285 deletions
|
@ -23,8 +23,8 @@ Revision History:
|
|||
static void tst0() {
|
||||
inf_rational n(rational(0), false);
|
||||
TRACE("inf_rational", tout << n << "\n";);
|
||||
SASSERT(n < inf_rational::zero());
|
||||
SASSERT(!(n >= inf_rational::zero()));
|
||||
ENSURE(n < inf_rational::zero());
|
||||
ENSURE(!(n >= inf_rational::zero()));
|
||||
}
|
||||
|
||||
void test_inc_dec(
|
||||
|
@ -36,44 +36,44 @@ void test_inc_dec(
|
|||
)
|
||||
{
|
||||
r += rational(1,5);
|
||||
SASSERT (r == b_8_5);
|
||||
ENSURE (r == b_8_5);
|
||||
r -= rational(1,5);
|
||||
SASSERT (r == b_7_5);
|
||||
ENSURE (r == b_7_5);
|
||||
|
||||
r += inf_rational(1,5);
|
||||
SASSERT (r == b_8_5);
|
||||
ENSURE (r == b_8_5);
|
||||
r -= inf_rational(1,5);
|
||||
SASSERT (r == b_7_5);
|
||||
ENSURE (r == b_7_5);
|
||||
|
||||
r /= rational(2,1);
|
||||
SASSERT (r == b_7_10);
|
||||
ENSURE (r == b_7_10);
|
||||
inf_rational r_pre = r++;
|
||||
SASSERT (r_pre == b_7_10);
|
||||
SASSERT (r == b_17_10);
|
||||
ENSURE (r_pre == b_7_10);
|
||||
ENSURE (r == b_17_10);
|
||||
inf_rational r_post = --r;
|
||||
SASSERT (r_post == b_7_10);
|
||||
SASSERT (r == b_7_10);
|
||||
ENSURE (r_post == b_7_10);
|
||||
ENSURE (r == b_7_10);
|
||||
r_post = ++r;
|
||||
SASSERT (r_post == b_17_10);
|
||||
SASSERT (r == b_17_10);
|
||||
ENSURE (r_post == b_17_10);
|
||||
ENSURE (r == b_17_10);
|
||||
r_pre = r--;
|
||||
SASSERT (r_pre == b_17_10);
|
||||
SASSERT (r == b_7_10);
|
||||
ENSURE (r_pre == b_17_10);
|
||||
ENSURE (r == b_7_10);
|
||||
|
||||
r_pre = r;
|
||||
r_pre += inf_rational(1,2);
|
||||
r_post = r_pre;
|
||||
r_post -= inf_rational(1,2);
|
||||
SASSERT(r == r_post);
|
||||
SASSERT(r + inf_rational(1,2) == r_pre);
|
||||
ENSURE(r == r_post);
|
||||
ENSURE(r + inf_rational(1,2) == r_pre);
|
||||
|
||||
r_pre = r;
|
||||
r_pre /= rational(2,1);
|
||||
r_post = r_pre;
|
||||
r_post /= rational(1,2);
|
||||
SASSERT(r == r_post);
|
||||
SASSERT(rational(1,2) * r == r_pre);
|
||||
SASSERT(r == r_pre / rational(1,2));
|
||||
ENSURE(r == r_post);
|
||||
ENSURE(rational(1,2) * r == r_pre);
|
||||
ENSURE(r == r_pre / rational(1,2));
|
||||
|
||||
}
|
||||
|
||||
|
@ -84,27 +84,27 @@ tst_inf_rational()
|
|||
|
||||
inf_rational r1;
|
||||
inf_rational r2(r1);
|
||||
SASSERT (r1 == r2);
|
||||
ENSURE (r1 == r2);
|
||||
inf_rational r3(1);
|
||||
inf_rational r4(0);
|
||||
SASSERT (r4 == r1);
|
||||
SASSERT (r3 != r4);
|
||||
ENSURE (r4 == r1);
|
||||
ENSURE (r3 != r4);
|
||||
inf_rational r5(0,1);
|
||||
inf_rational r6(1,1);
|
||||
inf_rational r7(2,2);
|
||||
inf_rational r8(7,5);
|
||||
SASSERT (r1 == r5);
|
||||
SASSERT (r6 == r3);
|
||||
SASSERT (r7 == r3);
|
||||
ENSURE (r1 == r5);
|
||||
ENSURE (r6 == r3);
|
||||
ENSURE (r7 == r3);
|
||||
inf_rational r9(rational(7,5));
|
||||
SASSERT (r8 == r9);
|
||||
ENSURE (r8 == r9);
|
||||
r9.reset();
|
||||
SASSERT (r1 == r9);
|
||||
SASSERT (r1.is_int());
|
||||
SASSERT (!r8.is_int());
|
||||
SASSERT (0 == r1.get_int64());
|
||||
ENSURE (r1 == r9);
|
||||
ENSURE (r1.is_int());
|
||||
ENSURE (!r8.is_int());
|
||||
ENSURE (0 == r1.get_int64());
|
||||
r9 = r8;
|
||||
SASSERT (r8 == r9);
|
||||
ENSURE (r8 == r9);
|
||||
inf_rational n = numerator(r7);
|
||||
inf_rational d = denominator(r7);
|
||||
|
||||
|
@ -130,50 +130,50 @@ tst_inf_rational()
|
|||
}
|
||||
|
||||
|
||||
SASSERT(inf_rational(rational(1,2),true) > inf_rational(rational(1,2)));
|
||||
SASSERT(inf_rational(rational(1,2),false) < inf_rational(rational(1,2)));
|
||||
SASSERT(inf_rational(rational(1,2),true) >= inf_rational(rational(1,2)));
|
||||
SASSERT(inf_rational(rational(1,2)) >= inf_rational(rational(1,2),false));
|
||||
SASSERT(inf_rational(rational(1,2),false) != inf_rational(rational(1,2)));
|
||||
SASSERT(inf_rational(rational(1,2),true) != inf_rational(rational(1,2)));
|
||||
SASSERT(inf_rational(rational(1,2),false) != inf_rational(rational(1,2),true));
|
||||
ENSURE(inf_rational(rational(1,2),true) > inf_rational(rational(1,2)));
|
||||
ENSURE(inf_rational(rational(1,2),false) < inf_rational(rational(1,2)));
|
||||
ENSURE(inf_rational(rational(1,2),true) >= inf_rational(rational(1,2)));
|
||||
ENSURE(inf_rational(rational(1,2)) >= inf_rational(rational(1,2),false));
|
||||
ENSURE(inf_rational(rational(1,2),false) != inf_rational(rational(1,2)));
|
||||
ENSURE(inf_rational(rational(1,2),true) != inf_rational(rational(1,2)));
|
||||
ENSURE(inf_rational(rational(1,2),false) != inf_rational(rational(1,2),true));
|
||||
|
||||
inf_rational h_neg(rational(1,2),false);
|
||||
inf_rational h_pos(rational(1,2),true);
|
||||
|
||||
h_neg.neg();
|
||||
SASSERT(h_neg == -inf_rational(rational(1,2),false));
|
||||
ENSURE(h_neg == -inf_rational(rational(1,2),false));
|
||||
h_neg.neg();
|
||||
SASSERT(h_neg == inf_rational(rational(1,2),false));
|
||||
ENSURE(h_neg == inf_rational(rational(1,2),false));
|
||||
|
||||
SASSERT(r1.is_zero() && !r1.is_one() && !r1.is_neg() && r1.is_nonneg() && r1.is_nonpos() && !r1.is_pos());
|
||||
SASSERT(!r3.is_zero() && r3.is_one() && !r3.is_neg() && r3.is_nonneg() && !r3.is_nonpos() && r3.is_pos());
|
||||
ENSURE(r1.is_zero() && !r1.is_one() && !r1.is_neg() && r1.is_nonneg() && r1.is_nonpos() && !r1.is_pos());
|
||||
ENSURE(!r3.is_zero() && r3.is_one() && !r3.is_neg() && r3.is_nonneg() && !r3.is_nonpos() && r3.is_pos());
|
||||
|
||||
SASSERT(floor(inf_rational(rational(1,2),false)) == rational());
|
||||
SASSERT(floor(inf_rational(rational(1,2))) == rational());
|
||||
SASSERT(floor(inf_rational(rational(),false)) == rational(-1));
|
||||
SASSERT(floor(inf_rational(rational())) == rational());
|
||||
SASSERT(floor(inf_rational(rational(),true)) == rational());
|
||||
SASSERT(floor(inf_rational(rational(1),false)) == rational());
|
||||
SASSERT(floor(inf_rational(rational(1))) == rational(1));
|
||||
SASSERT(floor(inf_rational(rational(1),true)) == rational(1));
|
||||
ENSURE(floor(inf_rational(rational(1,2),false)) == rational());
|
||||
ENSURE(floor(inf_rational(rational(1,2))) == rational());
|
||||
ENSURE(floor(inf_rational(rational(),false)) == rational(-1));
|
||||
ENSURE(floor(inf_rational(rational())) == rational());
|
||||
ENSURE(floor(inf_rational(rational(),true)) == rational());
|
||||
ENSURE(floor(inf_rational(rational(1),false)) == rational());
|
||||
ENSURE(floor(inf_rational(rational(1))) == rational(1));
|
||||
ENSURE(floor(inf_rational(rational(1),true)) == rational(1));
|
||||
|
||||
SASSERT(ceil(inf_rational(rational(1,2),false)) == rational(1));
|
||||
SASSERT(ceil(inf_rational(rational(1,2))) == rational(1));
|
||||
SASSERT(ceil(inf_rational(rational(),false)) == rational());
|
||||
SASSERT(ceil(inf_rational(rational())) == rational());
|
||||
SASSERT(ceil(inf_rational(rational(),true)) == rational(1));
|
||||
SASSERT(ceil(inf_rational(rational(1),false)) == rational(1));
|
||||
SASSERT(ceil(inf_rational(rational(1))) == rational(1));
|
||||
SASSERT(ceil(inf_rational(rational(1),true)) == rational(2));
|
||||
ENSURE(ceil(inf_rational(rational(1,2),false)) == rational(1));
|
||||
ENSURE(ceil(inf_rational(rational(1,2))) == rational(1));
|
||||
ENSURE(ceil(inf_rational(rational(),false)) == rational());
|
||||
ENSURE(ceil(inf_rational(rational())) == rational());
|
||||
ENSURE(ceil(inf_rational(rational(),true)) == rational(1));
|
||||
ENSURE(ceil(inf_rational(rational(1),false)) == rational(1));
|
||||
ENSURE(ceil(inf_rational(rational(1))) == rational(1));
|
||||
ENSURE(ceil(inf_rational(rational(1),true)) == rational(2));
|
||||
|
||||
inf_rational x(rational(1,2),true);
|
||||
inf_rational y(1,2);
|
||||
x.swap(y);
|
||||
SASSERT (x == inf_rational(1,2));
|
||||
SASSERT (y == inf_rational(rational(1,2),true));
|
||||
ENSURE (x == inf_rational(1,2));
|
||||
ENSURE (y == inf_rational(rational(1,2),true));
|
||||
|
||||
SASSERT(inf_rational(1,2) == abs(-inf_rational(1,2)));
|
||||
ENSURE(inf_rational(1,2) == abs(-inf_rational(1,2)));
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue