()
| 10 | public class TestPrecise extends BaseTest |
| 11 | { |
| 12 | public void testPrecise() |
| 13 | { |
| 14 | Object w = "-1.123e-6"; |
| 15 | Object x = "0.00000002"; |
| 16 | Object y = "69696900000"; |
| 17 | Object z = "0"; |
| 18 | Object a = "1e8"; |
| 19 | Assert(Helpers.isEqual(Precise.stringMul(x, y), "1393.938")); |
| 20 | Assert(Helpers.isEqual(Precise.stringMul(y, x), "1393.938")); |
| 21 | Assert(Helpers.isEqual(Precise.stringAdd(x, y), "69696900000.00000002")); |
| 22 | Assert(Helpers.isEqual(Precise.stringAdd(y, x), "69696900000.00000002")); |
| 23 | Assert(Helpers.isEqual(Precise.stringSub(x, y), "-69696899999.99999998")); |
| 24 | Assert(Helpers.isEqual(Precise.stringSub(y, x), "69696899999.99999998")); |
| 25 | Assert(Helpers.isEqual(Precise.stringDiv(x, y, 1), "0")); |
| 26 | Assert(Helpers.isEqual(Precise.stringDiv(x, y), "0")); |
| 27 | Assert(Helpers.isEqual(Precise.stringDiv(x, y, 19), "0.0000000000000000002")); |
| 28 | Assert(Helpers.isEqual(Precise.stringDiv(x, y, 20), "0.00000000000000000028")); |
| 29 | Assert(Helpers.isEqual(Precise.stringDiv(x, y, 21), "0.000000000000000000286")); |
| 30 | Assert(Helpers.isEqual(Precise.stringDiv(x, y, 22), "0.0000000000000000002869")); |
| 31 | Assert(Helpers.isEqual(Precise.stringDiv(y, x), "3484845000000000000")); |
| 32 | Assert(Helpers.isEqual(Precise.stringMul(x, w), "-0.00000000000002246")); |
| 33 | Assert(Helpers.isEqual(Precise.stringMul(w, x), "-0.00000000000002246")); |
| 34 | Assert(Helpers.isEqual(Precise.stringAdd(x, w), "-0.000001103")); |
| 35 | Assert(Helpers.isEqual(Precise.stringAdd(w, x), "-0.000001103")); |
| 36 | Assert(Helpers.isEqual(Precise.stringSub(x, w), "0.000001143")); |
| 37 | Assert(Helpers.isEqual(Precise.stringSub(w, x), "-0.000001143")); |
| 38 | Assert(Helpers.isEqual(Precise.stringDiv(x, w), "-0.017809439002671415")); |
| 39 | Assert(Helpers.isEqual(Precise.stringDiv(w, x), "-56.15")); |
| 40 | Assert(Helpers.isEqual(Precise.stringMul(z, w), "0")); |
| 41 | Assert(Helpers.isEqual(Precise.stringMul(z, x), "0")); |
| 42 | Assert(Helpers.isEqual(Precise.stringMul(z, y), "0")); |
| 43 | Assert(Helpers.isEqual(Precise.stringMul(w, z), "0")); |
| 44 | Assert(Helpers.isEqual(Precise.stringMul(x, z), "0")); |
| 45 | Assert(Helpers.isEqual(Precise.stringMul(y, z), "0")); |
| 46 | Assert(Helpers.isEqual(Precise.stringAdd(z, w), "-0.000001123")); |
| 47 | Assert(Helpers.isEqual(Precise.stringAdd(z, x), "0.00000002")); |
| 48 | Assert(Helpers.isEqual(Precise.stringAdd(z, y), "69696900000")); |
| 49 | Assert(Helpers.isEqual(Precise.stringAdd(w, z), "-0.000001123")); |
| 50 | Assert(Helpers.isEqual(Precise.stringAdd(x, z), "0.00000002")); |
| 51 | Assert(Helpers.isEqual(Precise.stringAdd(y, z), "69696900000")); |
| 52 | Assert(Helpers.isEqual(Precise.stringMul(x, a), "2")); |
| 53 | Assert(Helpers.isEqual(Precise.stringMul(a, x), "2")); |
| 54 | Assert(Helpers.isEqual(Precise.stringMul(y, a), "6969690000000000000")); |
| 55 | Assert(Helpers.isEqual(Precise.stringMul(a, y), "6969690000000000000")); |
| 56 | Assert(Helpers.isEqual(Precise.stringDiv(y, a), "696.969")); |
| 57 | Assert(Helpers.isEqual(Precise.stringDiv(y, a, Helpers.opNeg(1)), "690")); |
| 58 | Assert(Helpers.isEqual(Precise.stringDiv(y, a, 0), "696")); |
| 59 | Assert(Helpers.isEqual(Precise.stringDiv(y, a, 1), "696.9")); |
| 60 | Assert(Helpers.isEqual(Precise.stringDiv(y, a, 2), "696.96")); |
| 61 | Assert(Helpers.isEqual(Precise.stringDiv(a, y), "0.001434784043479695")); |
| 62 | Assert(Helpers.isEqual(Precise.stringAbs("0"), "0")); |
| 63 | Assert(Helpers.isEqual(Precise.stringAbs("-0"), "0")); |
| 64 | Assert(Helpers.isEqual(Precise.stringAbs("-500.1"), "500.1")); |
| 65 | Assert(Helpers.isEqual(Precise.stringAbs("213"), "213")); |
| 66 | Assert(Helpers.isEqual(Precise.stringNeg("0"), "0")); |
| 67 | Assert(Helpers.isEqual(Precise.stringNeg("-0"), "0")); |
| 68 | Assert(Helpers.isEqual(Precise.stringNeg("-500.1"), "500.1")); |
| 69 | Assert(Helpers.isEqual(Precise.stringNeg("213"), "-213")); |
no test coverage detected