def test_closure(self): clos = Closure(6, 16, 2) self.assertEqual(clos.len(), 6, "incorrect length of closure") self.assertEqual(clos[0], 6) self.assertEqual(clos[1], 8) self.assertEqual(clos[clos.len() - 1], 16) clos2 = Closure(None, 10, 2) self.assertEqual(clos2.len(), math.inf, "incorrect length for unbounded closure") with self.assertRaises(Exception): a = clos[8] with self.assertRaises(Exception): a = clos2[1] closWrong = Closure(7, 6, 12) self.assertEqual(closWrong.len(), 1)