# HG changeset patch # User Claus Gittinger # Date 1020787678 -7200 # Node ID a57daf60d4f2c56ef037efb285e98438c9aa2ce9 # Parent 8115618b0874c58b036392a7f1a05d28d003bef2 more modulu & division tests diff -r 8115618b0874 -r a57daf60d4f2 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 "