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 | 0java.lang.ArithmeticException: / by zero at eg.ArithmeticFixture.doCell(ArithmeticFixture.java:24) at fit.Fixture.doCells(Fixture.java:100) at fit.Fixture.doRow(Fixture.java:94) at fit.Fixture.doRows(Fixture.java:88) at eg.ArithmeticFixture.doRows(ArithmeticFixture.java:14) at fit.Fixture.doTable(Fixture.java:82) at fit.Fixture.doTables(Fixture.java:72) at fit.FileRunner.process(FileRunner.java:29) at fit.FileRunner.run(FileRunner.java:22) at fit.FileRunner.main(FileRunner.java:17) |
1 | 2 | 3 | -1 | 2 | 0.5java.lang.NumberFormatException: For input string: "0.5" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Long.parseLong(Long.java:332) at java.lang.Long.parseLong(Long.java:381) at fit.PrimitiveFixture.parseLong(PrimitiveFixture.java:12) at fit.PrimitiveFixture.check(PrimitiveFixture.java:30) at eg.ArithmeticFixture.doCell(ArithmeticFixture.java:24) at fit.Fixture.doCells(Fixture.java:100) at fit.Fixture.doRow(Fixture.java:94) at fit.Fixture.doRows(Fixture.java:88) at eg.ArithmeticFixture.doRows(ArithmeticFixture.java:14) at fit.Fixture.doTable(Fixture.java:82) at fit.Fixture.doTables(Fixture.java:72) at fit.FileRunner.process(FileRunner.java:29) at fit.FileRunner.run(FileRunner.java:22) at fit.FileRunner.main(FileRunner.java:17) |
1 | -1 | 0 | 2 | -1 | -1 |
10000 | 10000 | 20000 | 0 | 100000000 | 1 |
100000 | 100000 | 200000 | 0 | 10000000000 expected 1410065408 actual |
1 |
1000000 | 1000000 | 2000000 | 0 | 1000000000000 expected -727379968 actual |
1 |
eg.ArithmeticColumnFixture | |||||
x | y | plus() | times() | divide() | floating() |
2 | 3 | 5 | 6 | 0 | 0.6666667 |
0 | 0 | 0 | 0 | error | error expected NaN actual |
0 | 0 | 0 | 0 | error | NaN |
200 | 300 | 500 | 60000 | 0 | 0.6666667 |
2 | 3 | 10 expected 5 actual |
10 expected 6 actual |
10 expected 0 actual |
|
200 | 3 | 5 expected 203 actual |
6 expected 600 actual |
0 expected 66 actual |
0.6666667 expected 66.666664 actual |
2 | -3 | -1 | -6 | -0 | -0.6666667 |
fit.Summary | |
counts | 37 right, 10 wrong, 0 ignored, 2 exceptions |
input file | /Users/ward/web/fit/Release/Documents/arithmetic.html |
input update | Tue Apr 01 02:03:08 CEST 2003 |
output file | /Users/ward/web/fit/Release/out.html |
run date | Wed May 28 14:21:23 CEST 2003 |
run elapsed time | 0:00.48 |
Document prepaired by Ward Cunningham
First Version July 11, 2002
Last Update August 17, 2002