RegressionTests__IntegerTest.st
changeset 336 031ea06f1959
parent 335 bdafaceb889a
child 337 c0fbd5e3dd76
--- a/RegressionTests__IntegerTest.st	Tue Sep 25 15:57:31 2007 +0200
+++ b/RegressionTests__IntegerTest.st	Tue Sep 25 16:10:54 2007 +0200
@@ -1872,6 +1872,8 @@
 !
 
 testLargeSubtraction1
+    |a1 a2 a b1 b2 b c1 c2 c|
+
     self assert:((2770568 + 2770568) printString = '5541136').
     self assert:((2770568 - 2770568) printString = '0').
     self assert:((2770568 negated + 2770568 negated) printString = '-5541136').
@@ -1885,6 +1887,29 @@
     self assert:((5541137800 negated - 2770568900 negated) printString = '-2770568900').
     self assert:((2770568900 negated - 5541137800 negated) printString = '2770568900').
 
+    a1 := -2770568900. a2 := 59049.
+    a := (a1 / a2) negated.
+    b1 := -5872025600. b2 := 59049.
+    b := (b1 / b2) negated.
+    c1 := 344606300. c2 := 6561.
+    c := (c1 / c2) negated.
+    self assert:(a - b closeTo: c).
+    self assert:((a - b) asFloat closeTo: c asFloat).
+    self assert:((a asFloat - b) closeTo: c asFloat).
+    self assert:((a - b asFloat) closeTo: c asFloat).
+
+    a := -10.
+    b := -12.
+    self assert:(a - b = 2).
+
+    a := -10000000.
+    b := -12000000.
+    self assert:(a - b = 2000000).
+
+    a := -100000000000000.
+    b := -120000000000000.
+    self assert:(a - b = 20000000000000).
+
     "
      self basicNew testLargeSubtraction1
     "