def test_is_disjoint(self): a = IntervalVector(2, Interval(-2, 4)) b = IntervalVector(2, Interval(1, 3)) c = IntervalVector(2, Interval(-4, -2.5)) self.assertFalse(a.is_disjoint(b)) self.assertTrue(a.is_disjoint(c))
def test_is_unbounded(self): a = IntervalVector(3, Interval(-2, 3)) self.assertFalse(a.is_unbounded()) a[1] = Interval.POS_REALS self.assertTrue(a.is_unbounded())
def test_is_strict_interior_subset(self): a = IntervalVector(3, Interval(-2, 3)) b = IntervalVector([-1.8, -1, 2]).inflate(0.1) self.assertTrue(b.is_strict_interior_subset(a))
def test_init(self): a = IntervalVector(3, Interval(-2, 4)) a.init(Interval(2, 4)) self.assertEqual(a[0], Interval(2, 4))
def test_resize(self): a = IntervalVector(3, Interval(-2, 4)) self.assertEqual(a.size(), 3) a.resize(1000) self.assertEqual(a.size(), 1000)
def test_bwd_mul(self): a = IntervalVector(2, Interval(2, 4)) b = Interval(1, 2) c = IntervalVector(2) pyIbex.bwd_mul(a, b, c) pyIbex.bwd_mul(b, a, c)
def test_set_empty(self): a = IntervalVector(3) a.set_empty() self.assertTrue(a.is_empty())
def test_rel_distance(self): a = IntervalVector(list(range(0, 3))).inflate(1) b = IntervalVector(list(range(0, 3))) self.assertEqual(a.rel_distance(b), 0.5)
def test_diff(self): a = IntervalVector([[-1, 1], [0, 2], [1, 5]]) b = IntervalVector(list(range(0, 3))).inflate(1) l = a.diff(b) self.assertEqual(len(l), 1) self.assertEqual(l[0], IntervalVector([[-1, 1], [0, 2], [3, 5]]))
def test_volume(self): a = IntervalVector(list(range(0, 3))).inflate(1) self.assertEqual(round(a.volume()), 8)
def test_perimeter(self): a = IntervalVector(list(range(0, 3))).inflate(1) self.assertEqual(a.perimeter(), 6.0)
def test_min_max_diam(self): a = IntervalVector(list(range(0, 3))).inflate(1) a[1] = a[1].inflate(0.2) a[2] = a[2].inflate(0.5) self.assertEqual(a.max_diam(), 3) self.assertEqual(a.min_diam(), 2)
def test_diam(self): a = IntervalVector(list(range(0, 3))).inflate(1) self.assertEqual(a.rad(), [1, 1, 1])
def test_is_zero(self): a = IntervalVector(list(range(0, 3))) self.assertFalse(a.is_zero()) a = IntervalVector([0, 0, 0]) self.assertTrue(a.is_zero())
def test_abs(self): a = IntervalVector(2, Interval(-2, 4)) self.assertEqual(pyIbex.abs(a), IntervalVector(2, Interval(0, 4)))
def test_diff_2(self): a = IntervalVector([[-1, 1], [0, 2], [1, 5]]) b = IntervalVector(a) l = a.diff(b) self.assertEqual(len(l), 0)
def test_bwd_mul(self): a = IntervalVector(2, Interval(2, 4)) b = IntervalVector(2, Interval(-3, 4)) c = IntervalVector(2) pyIbex.bwd_mul(c, a, b)
def test_complementary(self): a = IntervalVector(list(range(0, 1))).inflate(1) l = a.complementary() self.assertEqual(l[0], IntervalVector(1, Interval(float("-inf"), -1))) self.assertEqual(l[1], IntervalVector(1, Interval(1, float("inf"))))
def test_assignement(self): a = IntervalVector(2) a[1] = Interval(2, 1) self.assertEqual(a[1], Interval(2, 1))
def test_bisect(self): a = IntervalVector(list(range(0, 3))).inflate(1) (c, d) = a.bisect(2)
def test_clear(self): a = IntervalVector(3, Interval(-2, 4)) a.clear() self.assertEqual(a[0], Interval(0))
def test_constructor2(self): c = IntervalVector(3, [1, 2]) self.assertEqual(c[0], Interval(1, 2))
def test_inflate(self): a = IntervalVector(3, Interval(-2, 4)) a.inflate(2) b = IntervalVector(3, Interval(-4, 6))
def test_constructor3(self): c = IntervalVector((Interval(1, 3), Interval(float('inf'), 4))) self.assertEqual(c[0], Interval(1, 3)) self.assertEqual(c[1], Interval(float('inf'), 4))
def test_is_flat(self): a = IntervalVector(range(1, 5)) self.assertTrue(a.is_flat())
def test_ops_5(self): a = IntervalVector(2, Interval(-1, 1)) self.assertEqual(a + [1, 1], IntervalVector(2, Interval(0, 2))) self.assertEqual([1, 1] + a, IntervalVector(2, Interval(0, 2)))
def test_is_subset(self): a = IntervalVector(3, Interval(-2, 3)) b = IntervalVector([-2.0, -1, 2]) self.assertTrue(b.is_subset(a))
def test_ops_6(self): a = IntervalVector(2, Interval(-1, 1)) self.assertEqual(a - [1, 1], IntervalVector(2, Interval(-2, 0))) self.assertEqual([1, 1] - a, IntervalVector(2, Interval(0, 2)))
def test_is_strict_superset(self): a = IntervalVector(3, Interval(-2, 3)) b = IntervalVector([-2.0, -1, 2]) self.assertTrue(a.is_strict_superset(b))
def test_overlaps(self): a = IntervalVector(2, Interval(-2, 4)) b = IntervalVector(2, Interval(1, 3)) self.assertTrue(a.overlaps(b))