@@ -257,23 +257,17 @@ public void intTest3_DivModLinear() throws SolverException, InterruptedException
257
257
assertDivision (a , num3 , numNeg4 , aEqNeg10 );
258
258
assertDivision (a , numNeg3 , num4 , aEqNeg10 );
259
259
260
- switch (solverToUse ()) {
261
- case MATHSAT5 : // modulo not supported
262
- assertThrows (UnsupportedOperationException .class , () -> buildModulo (num10 , num5 , num0 ));
263
- break ;
264
- default :
265
- assertModulo (num10 , num5 , num0 );
266
- assertModulo (num10 , num3 , num1 , aEq10 );
267
- assertModulo (numNeg10 , num5 , num0 );
268
- assertModulo (numNeg10 , num3 , num2 );
269
- assertModulo (numNeg10 , numNeg3 , num2 );
270
-
271
- assertModulo (a , num5 , num0 , aEq10 );
272
- assertModulo (a , num3 , num1 , aEq10 );
273
- assertModulo (a , num5 , num0 , aEqNeg10 );
274
- assertModulo (a , num3 , num2 , aEqNeg10 );
275
- assertModulo (a , numNeg3 , num2 , aEqNeg10 );
276
- }
260
+ assertModulo (num10 , num5 , num0 );
261
+ assertModulo (num10 , num3 , num1 , aEq10 );
262
+ assertModulo (numNeg10 , num5 , num0 );
263
+ assertModulo (numNeg10 , num3 , num2 );
264
+ assertModulo (numNeg10 , numNeg3 , num2 );
265
+
266
+ assertModulo (a , num5 , num0 , aEq10 );
267
+ assertModulo (a , num3 , num1 , aEq10 );
268
+ assertModulo (a , num5 , num0 , aEqNeg10 );
269
+ assertModulo (a , num3 , num2 , aEqNeg10 );
270
+ assertModulo (a , numNeg3 , num2 , aEqNeg10 );
277
271
}
278
272
279
273
@ Test
@@ -319,8 +313,7 @@ public void intTest3_DivModLinear_zeroDenominator() throws SolverException, Inte
319
313
IllegalArgumentException .class ,
320
314
() -> assertThatFormula (buildModulo (num10 , num0 , num10 )).isSatisfiable ());
321
315
break ;
322
- case OPENSMT : // INFO
323
- case MATHSAT5 : // modulo not supported
316
+ case OPENSMT : // INFO: OpenSMT does not allow division by zero
324
317
assertThrows (UnsupportedOperationException .class , () -> buildModulo (num10 , num0 , num10 ));
325
318
break ;
326
319
default :
@@ -365,11 +358,6 @@ public void intTest3_DivModNonLinear() throws SolverException, InterruptedExcept
365
358
assertThrows (UnsupportedOperationException .class , () -> buildDivision (a , b , num5 ));
366
359
assertThrows (UnsupportedOperationException .class , () -> buildModulo (a , b , num0 ));
367
360
break ;
368
- case MATHSAT5 : // modulo not supported
369
- assertDivision (a , b , num5 , aEq10 , bEq2 );
370
- assertDivision (a , b , num5 , aEqNeg10 , bEqNeg2 );
371
- assertThrows (UnsupportedOperationException .class , () -> buildModulo (num10 , num5 , num0 ));
372
- break ;
373
361
default :
374
362
assertDivision (a , b , num5 , aEq10 , bEq2 );
375
363
assertDivision (a , b , num5 , aEqNeg10 , bEqNeg2 );
@@ -753,7 +741,7 @@ public void testMakeBitVectorArray() {
753
741
switch (solver ) {
754
742
case MATHSAT5 :
755
743
// Mathsat5 has a different internal representation of the formula
756
- assertThat (_b_at_i .toString ()).isEqualTo ("(`read_T(18 )_T(20 )` b i)" );
744
+ assertThat (_b_at_i .toString ()).isEqualTo ("(`read_T(19 )_T(21 )` b i)" );
757
745
break ;
758
746
case BOOLECTOR :
759
747
assume ()
@@ -784,7 +772,7 @@ public void testNestedIntegerArray() {
784
772
switch (solver ) {
785
773
case MATHSAT5 :
786
774
assertThat (valueInMulti .toString ())
787
- .isEqualTo ("(`read_int_int` (`read_int_T(17 )` multi i) i)" );
775
+ .isEqualTo ("(`read_int_int` (`read_int_T(18 )` multi i) i)" );
788
776
break ;
789
777
case PRINCESS :
790
778
assertThat (valueInMulti .toString ()).isEqualTo ("select(select(multi, i), i)" );
@@ -812,7 +800,7 @@ public void testNestedRationalArray() {
812
800
switch (solver ) {
813
801
case MATHSAT5 :
814
802
assertThat (valueInMulti .toString ())
815
- .isEqualTo ("(`read_int_rat` (`read_int_T(17 )` multi i) i)" );
803
+ .isEqualTo ("(`read_int_rat` (`read_int_T(18 )` multi i) i)" );
816
804
break ;
817
805
case PRINCESS :
818
806
assertThat (valueInMulti .toString ()).isEqualTo ("select(select(multi, i), i)" );
@@ -845,8 +833,8 @@ public void testNestedBitVectorArray() {
845
833
846
834
switch (solver ) {
847
835
case MATHSAT5 :
848
- String readWrite = "(`read_int_T(18)` (`read_int_T(19)` multi i) i)" ;
849
- assertThat ( valueInMulti . toString ()). isEqualTo ( readWrite );
836
+ assertThat ( valueInMulti . toString ())
837
+ . isEqualTo ( "(`read_int_T(19)` (`read_int_T(20)` multi " + "i) i)" );
850
838
break ;
851
839
default :
852
840
assertThat (valueInMulti .toString ()).isEqualTo ("(select (select multi i) i)" );
0 commit comments