The computer relies on arithmetic. Here we test a variety of arithmetic
operations expressed as 32 bit two's complement binary numbers (Java's
int).
eg.ArithmeticFixture | ||||||
x | y | + | - | * | / | |
0 | 0 | 0 | 0 | 0 | error | Integer divide exception is expected |
1 | 2 | 3 | -1 | 2 | 0.5 | The divide non-compare is expected |
1 | -1 | 0 | 2 | -1 | -1 | |
10000 | 10000 | 20000 | 0 | 100000000 | 1 | |
100000 | 100000 | 200000 | 0 | 10000000000 | 1 | |
1000000 | 1000000 | 2000000 | 0 | 1000000000000 | 1 |
eg.ArithmeticColumnFixture | ||||||
x | y | plus() | times() | divide() | floating() | |
2 | 3 | 5 | 6 | 0 | 0.666667 | |
0 | 0 | 0 | 0 | error | error | |
0 | 0 | 0 | 0 | |||
200 | 300 | 500 | 60000 | 0 | 0.666667 | |
2 | 3 | 10 | 10 | 10 | Expected Errors | |
200 | 3 | 5 | 6 | 0 | 0.666667 | Expected Errors |
2 | -3 | -1 | -6 | -1 | -0.666667 | The expected result for the integer divide was changed from 0 to -1 because of Python's use of "floor division." |
fit.Summary |
Document prepaired by Ward Cunningham
First Version July 11, 2002
Last Update August 17, 2002
Notes added by John Roth April 22, 2004