public void test1() { Fraction r1 = new Fraction(2, 3); Fraction r2 = new Fraction(4, 6); Fraction r3 = new Fraction(4, 9); Fraction r4 = new Fraction(4, 3); Fraction r5 = new Fraction(0, 1); Fraction r6 = new Fraction(1, 1); Fraction r7 = new Fraction(1, 3); Fraction r8 = new Fraction(2, 1); Fraction r9 = new Fraction(2, 9); Fraction r10 = new Fraction(-1, 3); assertEquals(r1, r2); assertEquals(r3, r1.multiply(r2)); assertEquals(r1, r1.multiply(r6)); assertEquals(r1, r6.multiply(r1)); assertEquals(r5, r5.multiply(r1)); assertEquals(r10, r10.multiply(r6)); assertEquals(r6, r1.divide(r2)); assertEquals(r5, r5.divide(r1)); assertEquals(r1, r1.divide(r6)); assertEquals(r7, r3.divide(r4)); try { assertEquals(r7, r3.divide(r5)); } catch (ArithmeticException e) { assertTrue(true); } assertEquals(r4, r1.add(r2)); assertEquals(r8, r2.add(r4)); assertEquals(r6, r1.add(r7)); assertEquals(r6, r5.add(r6)); assertEquals(r1, r10.add(r6)); assertEquals(r5, r1.subtract(r2)); assertEquals(r9, r2.subtract(r3)); assertEquals(r4, r4.subtract(r5)); assertEquals(r10, r7.subtract(r1)); }
@Test public void testDivide() { assertEquals(zero, zero.divide(one)); assertEquals(zero, zero.divide(subtractOne)); assertEquals(zero, zero.divide(posRat)); assertEquals(zero, zero.divide(negRat)); assertEquals(one, one.divide(one)); assertEquals(posRat, posRat.divide(one)); assertEquals(negRat, negRat.divide(one)); assertEquals(new Fraction(1, 2), new Fraction(1, 4).divide(new Fraction(1, 2))); assertEquals(new Fraction(1, 2), new Fraction(-1, 4).divide(new Fraction(-1, 2))); assertEquals(new Fraction(2, 5), new Fraction(-3, 10).divide(new Fraction(-3, 4))); assertEquals(new Fraction(100, 111), new Fraction(1700, 8547).divide(new Fraction(17, 77))); assertEquals(posRat, posRat.multiply(negRat).divide(negRat)); }
@Test public void testMultiply() { assertEquals(zero, zero.multiply(zero)); assertEquals(zero, one.multiply(zero)); assertEquals(zero, zero.multiply(posRat)); assertEquals(zero, zero.multiply(negRat)); assertEquals(one, one.multiply(one)); assertEquals(posRat, one.multiply(posRat)); assertEquals(negRat, one.multiply(negRat)); assertEquals(negRat, negRat.multiply(one)); assertEquals(new Fraction(1, 4), new Fraction(1, 2).multiply(new Fraction(1, 2))); assertEquals(new Fraction(-1, 4), new Fraction(1, 2).multiply(new Fraction(-1, 2))); assertEquals(new Fraction(-3, 10), new Fraction(2, 5).multiply(new Fraction(-3, 4))); assertEquals(new Fraction(1700, 8547), new Fraction(17, 77).multiply(new Fraction(100, 111))); }