more modulu & division tests
authorClaus Gittinger <cg@exept.de>
Tue, 07 May 2002 18:07:58 +0200
changeset 150 a57daf60d4f2
parent 149 8115618b0874
child 151 56cceb5c0318
more modulu & division tests
RegressionTests__IntegerTest.st
--- a/RegressionTests__IntegerTest.st	Tue Feb 19 20:21:21 2002 +0100
+++ b/RegressionTests__IntegerTest.st	Tue May 07 18:07:58 2002 +0200
@@ -685,6 +685,66 @@
     self assert:((rslt := -1 perform:op with: b) == 0).
     self assert:((rslt := a perform:op with: b) == 0).
 
+    a := 1.
+    b := 8.
+    self assert:(1 // 8 == 0).
+    self assert:(a // 8 == 0).
+    self assert:(1 // b == 0).
+    self assert:(a // b == 0).
+
+    self assert:((rslt := 1 perform:op with: 8) == 0).
+    self assert:((rslt := a perform:op with: 8) == 0).
+    self assert:((rslt := 1 perform:op with: b) == 0).
+    self assert:((rslt := a perform:op with: b) == 0).
+
+    a := -16.
+    b := 8.
+    self assert:(-16 // 8 == -2).
+    self assert:(a // 8 == -2).
+    self assert:(-16 // b == -2).
+    self assert:(a // b == -2).
+
+    self assert:((rslt := -16 perform:op with: 8) == -2).
+    self assert:((rslt := a perform:op with: 8) == -2).
+    self assert:((rslt := -16 perform:op with: b) == -2).
+    self assert:((rslt := a perform:op with: b) == -2).
+
+    a := 16.
+    b := -8.
+    self assert:(16 // -8 == -2).
+    self assert:(a // -8 == -2).
+    self assert:(16 // b == -2).
+    self assert:(a // b == -2).
+
+    self assert:((rslt := 16 perform:op with: -8) == -2).
+    self assert:((rslt := a perform:op with: -8) == -2).
+    self assert:((rslt := 16 perform:op with: b) == -2).
+    self assert:((rslt := a perform:op with: b) == -2).
+
+    a := -16.
+    b := -8.
+    self assert:(-16 // -8 == 2).
+    self assert:(a // -8 == 2).
+    self assert:(-16 // b == 2).
+    self assert:(a // b == 2).
+
+    self assert:((rslt := -16 perform:op with: -8) == 2).
+    self assert:((rslt := a perform:op with: -8) == 2).
+    self assert:((rslt := -16 perform:op with: b) == 2).
+    self assert:((rslt := a perform:op with: b) == 2).
+
+    a := 16.
+    b := 8.
+    self assert:(16 // 8 == 2).
+    self assert:(a // 8 == 2).
+    self assert:(16 // b == 2).
+    self assert:(a // b == 2).
+
+    self assert:((rslt := 16 perform:op with: 8) == 2).
+    self assert:((rslt := a perform:op with: 8) == 2).
+    self assert:((rslt := 16 perform:op with: b) == 2).
+    self assert:((rslt := a perform:op with: b) == 2).
+
     op := #quo:.
     a := -1.
     b := 8.
@@ -722,6 +782,66 @@
     self assert:((rslt := -1 perform:op with: b) == 0).
     self assert:((rslt := a perform:op with: b) == 0).
 
+    a := 1.
+    b := 8.
+    self assert:((rslt := 1 quo: 8) == 0).
+    self assert:((rslt := a quo: 8) == 0).
+    self assert:((rslt := 1 quo: b) == 0).
+    self assert:((rslt := a quo: b) == 0).
+
+    self assert:((rslt := 1 perform:op with: 8) == 0).
+    self assert:((rslt := a perform:op with: 8) == 0).
+    self assert:((rslt := 1 perform:op with: b) == 0).
+    self assert:((rslt := a perform:op with: b) == 0).
+
+    a := -16.
+    b := 8.
+    self assert:((rslt := -16 quo: 8) == -2).
+    self assert:((rslt := a quo: 8) == -2).
+    self assert:((rslt := -16 quo: b) == -2).
+    self assert:((rslt := a quo: b) == -2).
+
+    self assert:((rslt := -16 perform:op with: 8) == -2).
+    self assert:((rslt := a perform:op with: 8) == -2).
+    self assert:((rslt := -16 perform:op with: b) == -2).
+    self assert:((rslt := a perform:op with: b) == -2).
+
+    a := 16.
+    b := -8.
+    self assert:((rslt := 16 quo: -8) == -2).
+    self assert:((rslt := a quo: -8) == -2).
+    self assert:((rslt := 16 quo: b) == -2).
+    self assert:((rslt := a quo: b) == -2).
+
+    self assert:((rslt := 16 perform:op with: -8) == -2).
+    self assert:((rslt := a perform:op with: -8) == -2).
+    self assert:((rslt := 16 perform:op with: b) == -2).
+    self assert:((rslt := a perform:op with: b) == -2).
+
+    a := -16.
+    b := -8.
+    self assert:((rslt := -16 quo: -8) == 2).
+    self assert:((rslt := a quo: -8) == 2).
+    self assert:((rslt := -16 quo: b) == 2).
+    self assert:((rslt := a quo: b) == 2).
+
+    self assert:((rslt := -16 perform:op with: -8) == 2).
+    self assert:((rslt := a perform:op with: -8) == 2).
+    self assert:((rslt := -16 perform:op with: b) == 2).
+    self assert:((rslt := a perform:op with: b) == 2).
+
+    a := 16.
+    b := 8.
+    self assert:((rslt := 16 quo: 8) == 2).
+    self assert:((rslt := a quo: 8) == 2).
+    self assert:((rslt := 16 quo: b) == 2).
+    self assert:((rslt := a quo: b) == 2).
+
+    self assert:((rslt := 16 perform:op with: 8) == 2).
+    self assert:((rslt := a perform:op with: 8) == 2).
+    self assert:((rslt := 16 perform:op with: b) == 2).
+    self assert:((rslt := a perform:op with: b) == 2).
+
     "
      self basicNew testDivision
     "
@@ -1665,6 +1785,68 @@
     self assert:((-1 perform:op with: b) == -1).
     self assert:((a perform:op with: b) == -1).
 
+    a := 1.
+    b := 8.
+    self assert:(1 \\ 8 == 1).
+    self assert:(a \\ 8 == 1).
+    self assert:(1 \\ b == 1).
+    self assert:(a \\ b == 1).
+
+    self assert:((1 perform:op with: 8) == 1).
+    self assert:((a perform:op with: 8) == 1).
+    self assert:((1 perform:op with: b) == 1).
+    self assert:((a perform:op with: b) == 1).
+
+
+    a := -17.
+    b := 8.
+    self assert:(-17 \\ 8 == 7).
+    self assert:(a \\ 8 == 7).
+    self assert:(-17 \\ b == 7).
+    self assert:(a \\ b == 7).
+
+    self assert:((-17 perform:op with: 8) == 7).
+    self assert:((a perform:op with: 8) == 7).
+    self assert:((-17 perform:op with: b) == 7).
+    self assert:((a perform:op with: b) == 7).
+
+    a := 17.
+    b := -8.
+    self assert:(17 \\ -8 == -7).
+    self assert:(a \\ -8 == -7).
+    self assert:(17 \\ b == -7).
+    self assert:(a \\ b == -7).
+
+    self assert:((17 perform:op with: -8) == -7).
+    self assert:((a perform:op with: -8) == -7).
+    self assert:((17 perform:op with: b) == -7).
+    self assert:((a perform:op with: b) == -7).
+
+    a := -17.
+    b := -8.
+    self assert:(-17 \\ -8 == -1).
+    self assert:(a \\ -8 == -1).
+    self assert:(-17 \\ b == -1).
+    self assert:(a \\ b == -1).
+
+    self assert:((-17 perform:op with: -8) == -1).
+    self assert:((a perform:op with: -8) == -1).
+    self assert:((-17 perform:op with: b) == -1).
+    self assert:((a perform:op with: b) == -1).
+
+    a := 17.
+    b := 8.
+    self assert:(17 \\ 8 == 1).
+    self assert:(a \\ 8 == 1).
+    self assert:(17 \\ b == 1).
+    self assert:(a \\ b == 1).
+
+    self assert:((17 perform:op with: 8) == 1).
+    self assert:((a perform:op with: 8) == 1).
+    self assert:((17 perform:op with: b) == 1).
+    self assert:((a perform:op with: b) == 1).
+
+
     op := #rem:.
     a := -1.
     b := 8.
@@ -1702,6 +1884,66 @@
     self assert:((-1 perform:op with: b) == -1).
     self assert:((a perform:op with: b) == -1).
 
+    a := 1.
+    b := 8.
+    self assert:((1 rem: 8) == 1).
+    self assert:((a rem: 8) == 1).
+    self assert:((1 rem: b) == 1).
+    self assert:((a rem: b) == 1).
+
+    self assert:((1 perform:op with: 8) == 1).
+    self assert:((a perform:op with: 8) == 1).
+    self assert:((1 perform:op with: b) == 1).
+    self assert:((a perform:op with: b) == 1).
+
+    a := -17.
+    b := 8.
+    self assert:((-17 rem: 8) == -1).
+    self assert:((a rem: 8) == -1).
+    self assert:((-17 rem: b) == -1).
+    self assert:((a rem: b) == -1).
+
+    self assert:((-17 perform:op with: -8) == -1).
+    self assert:((a perform:op with: -8) == -1).
+    self assert:((-17 perform:op with: b) == -1).
+    self assert:((a perform:op with: b) == -1).
+
+    a := 17.
+    b := -8.
+    self assert:((17 rem: -8) == 1).
+    self assert:((a rem: -8) == 1).
+    self assert:((17 rem: b) == 1).
+    self assert:((a rem: b) == 1).
+
+    self assert:((17 perform:op with: -8) == 1).
+    self assert:((a perform:op with: -8) == 1).
+    self assert:((17 perform:op with: b) == 1).
+    self assert:((a perform:op with: b) == 1).
+
+    a := -17.
+    b := -8.
+    self assert:((-17 rem: -8) == -1).
+    self assert:((a rem: -8) == -1).
+    self assert:((-17 rem: b) == -1).
+    self assert:((a rem: b) == -1).
+
+    self assert:((-17 perform:op with: -8) == -1).
+    self assert:((a perform:op with: -8) == -1).
+    self assert:((-17 perform:op with: b) == -1).
+    self assert:((a perform:op with: b) == -1).
+
+    a := 17.
+    b := 8.
+    self assert:((17 rem: 8) == 1).
+    self assert:((a rem: 8) == 1).
+    self assert:((17 rem: b) == 1).
+    self assert:((a rem: b) == 1).
+
+    self assert:((17 perform:op with: 8) == 1).
+    self assert:((a perform:op with: 8) == 1).
+    self assert:((17 perform:op with: b) == 1).
+    self assert:((a perform:op with: b) == 1).
+
     "
      self basicNew testModulu
     "