RegressionTests__IntegerTest.st
changeset 29 cedaa7d102d6
parent 28 fca649220051
child 31 4738d31a625e
equal deleted inserted replaced
28:fca649220051 29:cedaa7d102d6
   446 
   446 
   447     self test:[(20 factorial + 20 factorial) printString = '4865804016353280000'].
   447     self test:[(20 factorial + 20 factorial) printString = '4865804016353280000'].
   448     self test:[(20 factorial + 1) printString = '2432902008176640001'].
   448     self test:[(20 factorial + 1) printString = '2432902008176640001'].
   449     self test:[(20 factorial + 1000) printString = '2432902008176641000'].
   449     self test:[(20 factorial + 1000) printString = '2432902008176641000'].
   450 
   450 
   451     "Large - Large addition"
   451     "Large + Small addition"
       
   452 
       
   453     n1 := 16r3FFFFFFF. n2 := 1.
       
   454     self test:[(n1 + n2 ) hexPrintString = '40000000'].
       
   455     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '40000000'].
       
   456     n1 := 16r3FFFFFFFF. n2 := 1.
       
   457     self test:[(n1 + n2 ) hexPrintString = '400000000'].
       
   458     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '400000000'].
       
   459     n1 := 16r3FFFFFFFFF. n2 := 1.
       
   460     self test:[(n1 + n2 ) hexPrintString = '4000000000'].
       
   461     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '4000000000'].
       
   462     n1 := 16r3FFFFFFFFFF. n2 := 1.
       
   463     self test:[(n1 + n2 ) hexPrintString = '40000000000'].
       
   464     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '40000000000'].
       
   465     n1 := 16r3FFFFFFFFFFF. n2 := 1.
       
   466     self test:[(n1 + n2 ) hexPrintString = '400000000000'].
       
   467     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '400000000000'].
       
   468     n1 := 16r3FFFFFFFFFFFF. n2 := 1.
       
   469     self test:[(n1 + n2 ) hexPrintString = '4000000000000'].
       
   470     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '4000000000000'].
       
   471     n1 := 16r3FFFFFFFFFFFFF. n2 := 1.
       
   472     self test:[(n1 + n2 ) hexPrintString = '40000000000000'].
       
   473     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '40000000000000'].
       
   474     n1 := 16r3FFFFFFFFFFFFFF. n2 := 1.
       
   475     self test:[(n1 + n2 ) hexPrintString = '400000000000000'].
       
   476     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '400000000000000'].
       
   477     n1 := 16r3FFFFFFFFFFFFFFF. n2 := 1.
       
   478     self test:[(n1 + n2 ) hexPrintString = '4000000000000000'].
       
   479     self test:[(n1 perform:'+' asSymbol with:n2 ) hexPrintString = '4000000000000000'].
       
   480 
       
   481     "Large + Large addition"
   452 
   482 
   453     n1 := 16r100000000. n2 := 16r7FFFFFFF.
   483     n1 := 16r100000000. n2 := 16r7FFFFFFF.
   454     self test:[(n1 - n2 ) hexPrintString = '80000001'].
   484     self test:[(n1 - n2 ) hexPrintString = '80000001'].
   455     self test:[(16r100000000 - n2 ) hexPrintString = '80000001'].
   485     self test:[(16r100000000 - n2 ) hexPrintString = '80000001'].
   456     self test:[(n1 - 16r7FFFFFFF ) hexPrintString = '80000001'].
   486     self test:[(n1 - 16r7FFFFFFF ) hexPrintString = '80000001'].