(self)
| 213 | self.assertTrue(gcd(-i, -j) < 0) |
| 214 | |
| 215 | def test_constructor(self): |
| 216 | a = Rat(10, 15) |
| 217 | self.assertEqual(a.num, 2) |
| 218 | self.assertEqual(a.den, 3) |
| 219 | a = Rat(10, -15) |
| 220 | self.assertEqual(a.num, -2) |
| 221 | self.assertEqual(a.den, 3) |
| 222 | a = Rat(-10, 15) |
| 223 | self.assertEqual(a.num, -2) |
| 224 | self.assertEqual(a.den, 3) |
| 225 | a = Rat(-10, -15) |
| 226 | self.assertEqual(a.num, 2) |
| 227 | self.assertEqual(a.den, 3) |
| 228 | a = Rat(7) |
| 229 | self.assertEqual(a.num, 7) |
| 230 | self.assertEqual(a.den, 1) |
| 231 | try: |
| 232 | a = Rat(1, 0) |
| 233 | except ZeroDivisionError: |
| 234 | pass |
| 235 | else: |
| 236 | self.fail("Rat(1, 0) didn't raise ZeroDivisionError") |
| 237 | for bad in "0", 0.0, 0j, (), [], {}, None, Rat, unittest: |
| 238 | try: |
| 239 | a = Rat(bad) |
| 240 | except TypeError: |
| 241 | pass |
| 242 | else: |
| 243 | self.fail("Rat(%r) didn't raise TypeError" % bad) |
| 244 | try: |
| 245 | a = Rat(1, bad) |
| 246 | except TypeError: |
| 247 | pass |
| 248 | else: |
| 249 | self.fail("Rat(1, %r) didn't raise TypeError" % bad) |
| 250 | |
| 251 | def test_add(self): |
| 252 | self.assertEqual(Rat(2, 3) + Rat(1, 3), 1) |
nothing calls this directly
no test coverage detected