README.txt
1 Run on Android with
2
3 1) Build the tests.
4 2) Install the calculator with
5 adb install <tree root>/out/target/product/generic/data/app/ExactCalculator/ExactCalculator.apk
6 3) adb install <tree root>/out/target/product/generic/data/app/ExactCalculatorTests/ExactCalculatorTests.apk
7 4) adb shell am instrument -w com.android.calculator2.tests/android.test.InstrumentationTestRunner
8
9 There are three kinds of tests:
10
11 1. A superficial test of calculator functionality through the UI.
12 This is a resurrected version of a test that appeared in KitKat.
13 This is currently only a placeholder for regression tests we shouldn't
14 forget; it doesn't yet actually do much of anything.
15
16 2. A test of the BoundedRationals library that mostly checks for agreement
17 with the constructive reals (CR) package. (The BoundedRationals package
18 is used by the calculator mostly to identify exact results, i.e.
19 terminating decimal expansions. But it's also used to optimize CR
20 computations, and bugs in BoundedRational could result in incorrect
21 outputs.)
22
23 3. A quick test of Evaluator.testUnflipZeroes(), which we do not know how to
24 test manually.
25
26 We currently have no automatic tests for display formatting corner cases.
27 The following numbers have exhibited problems in the past and would be good
28 to test. Some of them are difficult to test automatically, because they
29 require scrolling to both ends of the result. For those with finite
30 decimal expansions, it also worth confirming that the "display with leading
31 digits" display shows an exact value when scrolled all the way to the right.
32
33 Some interesting manual test cases:
34
35 10^10 + 10^30
36 10^30 + 10^-10
37 -10^30 + 20
38 10^30 + 10^-30
39 -10^30 - 10^10
40 -1.2x10^-9
41 -1.2x10^-8
42 -1.2x10^-10
43 -10^-12
44 1 - 10^-98
45 1 - 10^-100
46 1 - 10^-300
47 1/-56x10^18 (on a Nexus 7 sized portrait display)
48 -10^-500 (scroll to see the 1, then scroll back & verify minus sign appears)
49