RegressionTests__IntegerTest.st
changeset 362 c2504e878ebd
parent 337 c0fbd5e3dd76
child 545 99ccb895860f
--- a/RegressionTests__IntegerTest.st	Thu Jan 22 14:46:41 2009 +0100
+++ b/RegressionTests__IntegerTest.st	Sat Feb 28 12:20:03 2009 +0100
@@ -624,6 +624,26 @@
 
 !IntegerTest methodsFor:'tests'!
 
+doCompare:a againstEqual:b
+    self assert:(a < b) not.
+    self assert:(a <= b).
+    self assert:(a = b).
+    self assert:(a ~= b) not.
+    self assert:(a > b) not.
+    self assert:(a >= b).
+
+    self assert:(a perform:#<   with:b) not.
+    self assert:(a perform:#<=  with:b).
+    self assert:(a perform:#=   with:b).
+    self assert:(a perform:#~=  with:b) not.
+    self assert:(a perform:#>   with:b) not.
+    self assert:(a perform:#>=  with:b).
+
+    "
+     self basicNew doCompare:12 againstEqual:12
+    "
+!
+
 doCompare:a againstGreater:b
     self assert:(a < b).
     self assert:(a <= b).
@@ -708,6 +728,65 @@
     a := 16r-3FFFFFFF.
     self doCompare:a againstGreater:16r40000000.
 
+    "/ smallint-largeInt boundaries
+
+    a := 16r3FFFFFFE.
+    self doCompare:a againstEqual:16r3FFFFFFE.
+
+    a := 16r3FFFFFFE.
+    self doCompare:a againstGreater:16r3FFFFFFF.
+
+    a := 16r3FFFFFFE.
+    self doCompare:a againstGreater:16r40000000.
+
+    a := 16r3FFFFFFE.
+    self doCompare:a againstGreater:16r80000000.
+
+    a := 16r3FFFFFFE.
+    self doCompare:a againstGreater:16rFFFFFFFF.
+
+    a := 16r3FFFFFFF.
+    self doCompare:a againstEqual:16r3FFFFFFF.
+
+    a := 16r3FFFFFFF.
+    self doCompare:a againstGreater:16r40000000.
+
+    a := 16r3FFFFFFF.
+    self doCompare:a againstGreater:16r80000000.
+
+    a := 16r3FFFFFFF.
+    self doCompare:a againstGreater:16rFFFFFFFF.
+
+    a := 16r40000000.
+    self doCompare:a againstEqual:16r40000000.
+
+    a := 16r40000000.
+    self doCompare:a againstGreater:16r80000000.
+
+    a := 16r40000000.
+    self doCompare:a againstGreater:16rFFFFFFFF.
+
+    a := 16r7FFFFFFF.
+    self doCompare:a againstEqual:16r7FFFFFFF.
+
+    a := 16r7FFFFFFF.
+    self doCompare:a againstGreater:16r80000000.
+
+    a := 16r7FFFFFFF.
+    self doCompare:a againstGreater:16rFFFFFFFF.
+
+    a := 16r80000000.
+    self doCompare:a againstEqual:16r80000000.
+
+    a := 16r80000000.
+    self doCompare:a againstGreater:16rFFFFFFFF.
+
+    a := 16rFFFFFFFF.
+    self doCompare:a againstEqual:16rFFFFFFFF.
+
+    a := 16rFFFFFFFF.
+    self doCompare:a againstGreater:16r100000000.
+
     "
      self basicNew testComparing
     "