def test_add(self): tmp = self.frac1+self.frac1 print (type(tmp)) self.assertEqual(Frac.__cmp__((self.frac1 + self.frac1), Frac(4, 3)),True) self.assertEqual(Frac.__cmp__(self.frac1 + (-self.frac2), Frac(-2, 3)),True) self.assertEqual(Frac.__cmp__(self.frac4 + 1, Frac(3, 3)), True) self.assertEqual(Frac.__cmp__(1 + self.frac5, Frac(3, 5)), True)
def test_truediv(self): try: self.fr12 / self.zero except Exception as e1: self.assertEqual(e1.__class__, ValueError) self.assertEqual(5 / self.fr34, Frac(20, 3)) self.assertEqual(self.fr12 / self.fr34, Frac(4, 6)) self.assertEqual(self.fr34 / 4, Frac(3, 16))
def test_div_frac(self): self.assertEqual(self.f1 / self.f3, Frac(20, 18)) self.assertEqual(self.f1 / self.f3, Frac(10, 9)) self.assertEqual(10 / self.f3, Frac(100, 3)) self.assertEqual(10.5 / self.f3, Frac(35, 1)) with self.assertRaises(ValueError): self.f1 / 0 with self.assertRaises(ValueError): "abc" / self.f3
def test_print(self): self.assertEqual(str(Frac(1, 1)), "1") self.assertEqual(str(Frac(1, 2)), "1/2") self.assertEqual(str(Frac(-1, 2)), "-1/2") self.assertEqual(str(Frac(-1, -2)), "1/2") #Dwa minusy zamieniam w plusa self.assertEqual(str(Frac(0, 1)), "0") self.assertEqual(repr(Frac(1, 1)), "Frac(1, 1)") self.assertEqual(repr(Frac(1, 2)), "Frac(1, 2)") self.assertEqual(repr(Frac(-1, 2)), "Frac(-1, 2)") self.assertEqual(repr(Frac(-1, -2)), "Frac(1, 2)") #Dwa minusy zamieniam w plusa self.assertEqual(repr(Frac(0, 1)), "Frac(0, 1)")
def setUp(self): self.zero = [0, 1] self.fr12 = Frac(1, 2) self.fr14 = Frac(1, 4) self.fr41 = Frac(4, 1) self.fr24 = Frac(2, 4) self.fr34 = Frac(3, 4) self.fr52 = Frac(5, 2) self.fr81 = Frac(8, 1)
def setUp(self): self.frac1 = Frac(2,3) self.frac2 = Frac(4,3) self.frac3 = Frac(2,1) self.frac4 = Frac(0,3) self.frac5 = Frac(-2,5) self.frac6 = Frac(4,3)
def test_str(self): self.assertEqual(str(Frac(5, 4)), "5/4") self.assertEqual(str(Frac(-5, 4)), "-5/4") self.assertEqual(str(Frac(0, -4)), "0/-4") self.assertEqual(str(Frac(10, 1)), "10") self.assertEqual(str(Frac(-10, 1)), "-10") self.assertEqual(str(Frac(2.5)), "5/2")
def test_div(self): self.assertEqual(v3.__div__(v4), Frac(21, 6)) self.assertEqual(v3.__div__(2), Frac(7, 6))
def test_rmul(self): self.assertEqual(v4.__rmul__(2), Frac(4, 3))
def test_mul(self): self.assertEqual(self.tmp*self.tmp, Frac(1,4)) self.assertEqual(self.tmp*-self.tmp, Frac(-1,4)) self.assertEqual(self.tmp*self.fracZero, Frac(0,1))
def test_mul_frac(self): self.assertEqual(self.f1 * self.f3, Frac(1, 10)) self.assertEqual(10 * self.f3, Frac(3, 1)) self.assertEqual(10.2 * self.f3, Frac(31, 10))
def test_add_frac(self): self.assertEqual(self.f1 + self.f2 + self.f2, 1) self.assertEqual(self.f3 + 10, Frac(103, 10)) self.assertEqual(10 + self.f3, Frac(103, 10)) self.assertAlmostEqual(float(10.4 + self.f3), 10.7, places=3, msg=None) self.assertAlmostEqual(float(0.66666 + Frac(1,3)), 1, places=3, msg=None)
from fracs import Frac import unittest v0 = Frac(0, 1) v1 = Frac(0, 1) v2 = Frac(2, 4) v3 = Frac(7, 3) v4 = Frac(2, 3) v5 = Frac(-2, 3) # v6 = Frac(3, 0) class TestFrac(unittest.TestCase): def test_str(self): self.assertEqual(v0.__str__(), "0") self.assertEqual(v2.__str__(), "2/4") def test_repr(self): self.assertEqual(v0.__repr__(), "Frac(0, 1)") def test_eq(self): self.assertTrue(v0.__eq__(v1)) self.assertFalse(v0.__eq__(v2)) def test_add(self): self.assertEqual(v3.__add__(v4), Frac(9, 3)) self.assertEqual(v3.__add__(2), Frac(13, 3)) def test_radd(self): self.assertEqual(v4.__radd__(2), Frac(8, 3))
def test_div(self): self.assertEqual(Frac(1, 2) / 2, Frac(1, 4)) self.assertEqual(Frac(1, 2) / Frac(1, 2), 1) self.assertEqual(Frac(1, 2) / Frac(-1, 2), -1) self.assertEqual(2 / Frac(-1, 2), -4) self.assertEqual(2 / Frac(3, 2), Frac(4, 3)) self.assertEqual(Frac(3, 2) / 2, Frac(3, 4)) self.assertEqual(2.5 / Frac(1, 2), 5) self.assertEqual(Frac(1, 2) / 2.5, Frac(1, 5))
def test_mul(self): self.assertEqual(Frac(1, 2) * Frac(1, 2), Frac(1, 4)) self.assertEqual(Frac(-1, 2) * Frac(1, 2), Frac(1, -4)) self.assertEqual(Frac(0, 2) * Frac(1, 2), 0) self.assertEqual(Frac(1, 2) * 2, 1) self.assertEqual((-2) * Frac(1, 2), -1) self.assertEqual(Frac(1, 2) * 0.5, Frac(1, 4)) self.assertEqual(0.5 * Frac(1, 2), Frac(1, 4)) self.assertEqual(0.4 * Frac(2, 1), 0.8) self.assertEqual(Frac(2, 1) * 0.2, 0.4) self.assertEqual(Frac(1, 4) * 0.5, Frac(1, 8))
def test_sub(self): self.assertEqual(Frac(1, 2) - Frac(1, 2), Frac(0, 4)) self.assertEqual(Frac(1, 2) - 1, Frac(1, -2)) self.assertEqual(1 - Frac(1, 2), Frac(2, 4)) self.assertEqual(0.5 - Frac(1, 2), 0) self.assertEqual(Frac(1, 2) - 1.5, Frac(-1, 1))
def test_add(self): self.assertEqual(Frac(1, 2) + Frac(-1, 2), Frac(0, 1)) self.assertEqual(Frac(1, 2) + 1, Frac(3, 2)) self.assertEqual(1 + Frac(1, 2), Frac(3, 2)) self.assertEqual(Frac(-1, 2) + 1, Frac(1, 2)) self.assertEqual(-1 + Frac(-1, 2), Frac(-3, 2)) self.assertEqual(Frac(1, 2) + Frac(1, 4), Frac(3, 4)) self.assertEqual(Frac(1, 2) + 2.5, 3.0) self.assertEqual(2.5 + Frac(1, 2), 3.0) self.assertEqual(2.2 + Frac(5, 10), 2.7)
def test_rdiv(self): self.assertEqual(v4.__rdiv__(2), Frac(6, 2))
def test_invert(self): self.assertEqual(v5.__invert__(), Frac(3, -2))
def test_add(self): self.assertEqual(v3.__add__(v4), Frac(9, 3)) self.assertEqual(v3.__add__(2), Frac(13, 3))
def test_sub_frac(self): self.assertEqual(self.f2 - self.f3, Frac(1, 30)) self.assertEqual(10 - self.f3, Frac(97, 10)) self.assertEqual(self.f3 - 10, Frac(-97, 10)) self.assertAlmostEqual(float(0.66666 - Frac(1, 3)), 0.3333, places=3, msg=None)
def test_is_positive(self): f1 = Frac(-1, -5) f2 = Frac(1, -5) self.assertTrue(f1.is_positive()) self.assertFalse(f2.is_positive())
def test_radd(self): self.assertEqual(v4.__radd__(2), Frac(8, 3))
def setUp(self): self.f1 = Frac(1, 3) self.f2 = Frac(2, 6) self.f3 = Frac(3, 10) self.f0 = Frac(0, 1)
def test_cmp_frac(self): self.assertTrue(self.f2 > self.f3) self.assertFalse(Frac(20, 18) < Frac(10, 18))
def test_sub(self): self.assertEqual(v3.__sub__(v4), Frac(5, 3)) self.assertEqual(v3.__sub__(2), Frac(1, 3))
def setUp(self): self.tmp = Frac(1,2) self.tmp2 = Frac(2,2) self.tmp3 = Frac(-1, 2) self.tmp4 = Frac(2, 1) self.fracZero = Frac(0,1)
def test_rsub(self): self.assertEqual(v4.__rsub__(2), Frac(4, 3))
def test_div(self): self.assertEqual(self.tmp/self.tmp, Frac(1,1)) self.assertEqual(self.tmp/-self.tmp, Frac(-1,1)) def tearDown(self): pass
def test_mul(self): self.assertEqual(v3.__mul__(v4), Frac(14, 9)) self.assertEqual(v3.__mul__(2), Frac(14, 3))