RegressionTests__IntegerTest.st
changeset 151 56cceb5c0318
parent 150 a57daf60d4f2
child 172 4007fa906cab
--- a/RegressionTests__IntegerTest.st	Tue May 07 18:07:58 2002 +0200
+++ b/RegressionTests__IntegerTest.st	Tue May 07 18:18:55 2002 +0200
@@ -1077,6 +1077,67 @@
     "Modified: / 9.6.1999 / 17:49:57 / cg"
 !
 
+testIntegerMisc2
+    "misc tests.
+     Notice, the arithmetic tests are both performed via regular sends
+     and via constructed performs. The reason is to test both inlined
+     JIT-compiler code AND the regular methods code."
+
+    |n sel|
+
+    self assert:(0 fib == 0).
+    self assert:(1 fib == 1).
+    self assert:(2 fib == 1).
+    self assert:(3 fib == 2).
+    self assert:(4 fib == 3).
+    self assert:(5 fib == 5).
+    self assert:(6 fib == 8).
+    self assert:(7 fib == 13).
+
+    n := 0.
+    self assert:(n fib == 0).
+    n := 1.
+    self assert:(n fib == 1).
+    n := 2.
+    self assert:(n fib == 1).
+    n := 3.
+    self assert:(n fib == 2).
+    n := 4.
+    self assert:(n fib == 3).
+    n := 5.
+    self assert:(n fib == 5).
+    n := 6.
+    self assert:(n fib == 8).
+    n := 7.
+    self assert:(n fib == 13).
+
+    #(0 1 2 3 4 5 6 7) 
+    with:#(0 1 1 2 3 5 8 13)
+    do:[:n :rslt |
+        self assert:(n fib == rslt).
+    ].
+
+    #(0 1 2 3 4 5 6 7) 
+    with:#(0 1 1 2 3 5 8 13)
+    do:[:n :rslt |
+        self assert:(n recursiveFib == rslt).
+    ].
+
+    sel := #fib.
+    self assert:((0 perform:sel) == 0).
+    self assert:((1 perform:sel) == 1).
+    self assert:((2 perform:sel) == 1).
+    self assert:((3 perform:sel) == 2).
+    self assert:((4 perform:sel) == 3).
+    self assert:((5 perform:sel) == 5).
+    self assert:((6 perform:sel) == 8).
+    self assert:((7 perform:sel) == 13).
+
+    "
+     self basicNew testIntegerMisc2
+    "
+!
+
 testIntegerShifts
     "arithmetic tests.
      Notice, the arithmetic tests are both performed via regular sends