Exemple #1
0
 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
Exemple #3
0
 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)
class TestFractions(unittest.TestCase):
    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_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)

    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_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_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_is_positive(self):
        f1 = Frac(-1, -5)
        f2 = Frac(1, -5)
        self.assertTrue(f1.is_positive())
        self.assertFalse(f2.is_positive())

    def test_is_zero(self):
        self.assertTrue(self.f0.is_zero())
        self.assertFalse(self.f1.is_zero())

    def test_cmp_frac(self):
        self.assertTrue(self.f2 > self.f3)
        self.assertFalse(Frac(20, 18) < Frac(10, 18))

    def test_frac2float(self):
        self.assertAlmostEqual(float(self.f1), 0.333, places=3, msg=None)
Exemple #5
0
    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)")
Exemple #6
0
	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)
Exemple #7
0
 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")
Exemple #8
0
	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)
Exemple #9
0
class TestFractions(unittest.TestCase):
    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_add_frac(self):
        self.assertEqual(self.f1 + self.f2 + self.f2, Frac(1))

    def test_sub_frac(self):
        self.assertEqual(self.f2 - self.f3, Frac(1, 30))

    def test_mul_frac(self):
        self.assertEqual(self.f1 * self.f3, Frac(1, 10))

    def test_div_frac(self):
        self.assertEqual(self.f1 / self.f3, Frac(20, 18))
        self.assertEqual(self.f1 / self.f3, Frac(10, 9))
        with self.assertRaises(ValueError):
            self.f1 / 0

    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_is_zero(self):
        self.assertTrue(self.f0.is_zero())
        self.assertFalse(self.f1.is_zero())

    def test_cmp_frac(self):
        self.assertTrue(self.f2 > self.f3)
        self.assertFalse(Frac(20, 18) < Frac(10, 18))

    def test_frac2float(self):
        self.assertAlmostEqual(float(self.f1), 0.333, places=3, msg=None)
Exemple #10
0
 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 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_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)
Exemple #14
0
 def test_invert(self):
     self.assertEqual(v5.__invert__(), Frac(3, -2))
Exemple #15
0
 def test_div(self):
     self.assertEqual(v3.__div__(v4), Frac(21, 6))
     self.assertEqual(v3.__div__(2), Frac(7, 6))
Exemple #16
0
 def setUp(self):
     self.one = Frac(1, 2)
     self.two = Frac(1, 4)
     self.three = Frac(-1, 6)
     self.four = Frac(0, 6)
     self.five = Frac(-2, 5)
Exemple #17
0
 def test_rmul(self):
     self.assertEqual(v4.__rmul__(2), Frac(4, 3))
Exemple #18
0
 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))
Exemple #19
0
 def test_rdiv(self):
     self.assertEqual(v4.__rdiv__(2), Frac(6, 2))
Exemple #20
0
 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_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)
Exemple #22
0
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_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))
Exemple #24
0
 def test_add(self):
     self.assertEqual(v3.__add__(v4), Frac(9, 3))
     self.assertEqual(v3.__add__(2), Frac(13, 3))
 def test_is_positive(self):
     f1 = Frac(-1, -5)
     f2 = Frac(1, -5)
     self.assertTrue(f1.is_positive())
     self.assertFalse(f2.is_positive())
Exemple #26
0
 def test_radd(self):
     self.assertEqual(v4.__radd__(2), Frac(8, 3))
Exemple #27
0
 def test_sub(self):
     self.assertEqual(v3.__sub__(v4), Frac(5, 3))
     self.assertEqual(v3.__sub__(2), Frac(1, 3))
Exemple #28
0
 def test_rsub(self):
     self.assertEqual(v4.__rsub__(2), Frac(4, 3))
Exemple #29
0
 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)
Exemple #30
0
 def test_mul(self):
     self.assertEqual(v3.__mul__(v4), Frac(14, 9))
     self.assertEqual(v3.__mul__(2), Frac(14, 3))
Exemple #31
0
    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
Exemple #32
0
class TestFracs(unittest.TestCase):
    def setUp(self):
        self.one = Frac(1, 2)
        self.two = Frac(1, 4)
        self.three = Frac(-1, 6)
        self.four = Frac(0, 6)
        self.five = Frac(-2, 5)

    def test_cmp(self):
        self.assertEqual(self.three.__cmp__(self.four), -1)
        self.assertEqual(self.three.__cmp__(self.three), 0)
        self.assertEqual(self.three.__cmp__(self.five), 1)

    def test_add(self):
        self.assertEqual(self.one + self.two, Frac(3, 4))
        self.assertEqual(self.one + self.four, Frac(3, 6))
        self.assertEqual(self.one + self.five, Frac(1, 10))
        self.assertEqual(self.one + 2, Frac(5, 2))
        self.assertEqual(2 + self.one, Frac(5, 2))


    def test_sub(self):
        self.assertEqual(self.one - self.two, Frac(1, 4))
        self.assertEqual(2 - self.one, Frac(3, 2))
        self.assertEqual(self.one - 1, Frac(-1, 2))

    def test_mul(self):
        self.assertEqual(self.two * self.two, Frac(1, 16))
        self.assertEqual(self.one * 5, Frac(5, 2))
        self.assertEqual(5 * self.one, Frac(5, 2))

    def test_div(self):
        self.assertEqual(self.three / self.two, Frac(-2, 3))
        self.assertEqual(self.one / 3, Frac(1, 6))
        # self.assertEqual(self.one/0, ???)
        self.assertEqual(3 / self.one, Frac(6, 1))
        #self.assertRaises(ValueError, Frac, self.one/0)

    def test_pos(self):
        self.assertEqual(self.one.__pos__(), Frac(1, 2))

    def test_neg(self):
        self.assertEqual(self.one.__neg__(), Frac(-1, 2))

    def test_invert(self):
        self.assertEqual(self.two.__invert__(), Frac(4, 1))

    def test_is_positive(self):
        self.assertEqual(self.one.is_positive(), True)
        self.assertEqual(self.five.is_positive(), False)

    def test_is_zero(self):
        self.assertEqual(self.two.is_zero(), False)
        self.assertEqual(self.four.is_zero(), True)

    def test_frac_to_float(self):
        self.assertEqual(self.five.frac2float(), -0.4)
        self.assertEqual(self.two.frac2float(), 0.25)