Exemplo n.º 1
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)
Exemplo n.º 2
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)
Exemplo n.º 3
0
	def test_invert(self):
		self.assertEqual(Frac.__cmp__(~self.frac1, Frac(3, 2)), True)
		self.assertEqual(Frac.__cmp__(-self.frac5, Frac(2, 5)), True)
Exemplo n.º 4
0
	def test_neg(self):
		self.assertEqual(Frac.__cmp__(-self.frac1, Frac(-2, 3)), True)
		self.assertEqual(Frac.__cmp__(-self.frac2, Frac(-4, 3)), True)
		self.assertEqual(Frac.__cmp__(-self.frac3, Frac(-2, 1)), True)
Exemplo n.º 5
0
	def test_div(self):
		self.assertEqual(Frac.__cmp__(self.frac1/self.frac1, Frac(6, 6)), True)
		self.assertEqual(Frac.__cmp__(self.frac5/3, Frac(-2, 15)), True)
		self.assertEqual(Frac.__cmp__(2/self.frac5, Frac(10, -2)), True)
		with self.assertRaises(ValueError):
			self.frac2 / 0
Exemplo n.º 6
0
	def test_mul(self):
		self.assertEqual(Frac.__cmp__(self.frac1*self.frac2, Frac(8, 9)), True)
		self.assertEqual(Frac.__cmp__(self.frac3*self.frac5, Frac(-4, 5)), True)
		self.assertEqual(Frac.__cmp__(self.frac1*2, Frac(4, 3)), True)
		self.assertEqual(Frac.__cmp__(2*self.frac1, Frac(4, 3)), True)
Exemplo n.º 7
0
	def test_sub(self):
		self.assertEqual(Frac.__cmp__(self.frac1-self.frac2, Frac(-2, 3)),True)
		self.assertEqual(Frac.__cmp__(self.frac2 -self.frac1, Frac(2, 3)), True)
		self.assertEqual(Frac.__cmp__(self.frac4 - 1, Frac(-3, 3)), True)
		self.assertEqual(Frac.__cmp__(1 - self.frac5, Frac(7, 5)), True)
Exemplo n.º 8
0
	def test_cmp(self):
		self.assertEqual(Frac.__cmp__(self.frac1, self.frac1), True)
		self.assertEqual(Frac.__cmp__(self.frac1, self.frac2), False)