58 """Test that we can intersect iovs"""
59 iov = IntervalOfValidity
61 [(0, 0, 10, 0), (11, 10, 11, 12),
None],
62 [(0, 0, 10, 0), (8, 0, 10, 12), (8, 0, 10, 0)],
63 [(0, 0, 0, 0), (0, 0, -1, -1), (0, 0, 0, 0)],
64 [(0, 0, -1, -1), (20, 12, 21, 234), (20, 12, 21, 234)],
65 [(0, 0, 2, -1), (1, 1, 2, 8), (1, 1, 2, 8)],
66 [(1, 2, 2, -1), (0, 0, 2, 8), (1, 2, 2, 8)],
67 [(1, 0, 3, -1), (0, 0, 2, -1), (1, 0, 2, -1)],
68 [(0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0)],
70 self.assertEqual(iov(a) & iov(b), self.
iovify(c), f
'{a} & {b} = {c}')
71 self.assertEqual(iov(b) & iov(a), self.
iovify(c), f
'{a} & {b} = {c}')
74 """Test that we can calculate the union of iovs"""
75 iov = IntervalOfValidity
77 [(0, 0, 10, 0), (11, 10, 11, 12),
None],
78 [(0, 0, 10, 0), (8, 0, 10, 12), (0, 0, 10, 12)],
79 [(0, 0, 0, 0), (0, 0, -1, -1), (0, 0, -1, -1)],
80 [(0, 0, -1, -1), (20, 12, 21, 234), (0, 0, -1, -1)],
81 [(0, 0, 2, -1), (1, 1, 2, 8), (0, 0, 2, -1)],
82 [(1, 2, 2, -1), (0, 0, 2, 8), (0, 0, 2, -1)],
83 [(1, 0, 3, -1), (0, 0, 2, -1), (0, 0, 3, -1)],
84 [(0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0)],
85 [(0, 0, 1, 1), (1, 2, 1, 3), (0, 0, 1, 3)],
86 [(0, 0, 1, 1), (1, 3, 1, 4),
None],
87 [(0, 0, 1, -1), (2, 0, 2, 1), (0, 0, 2, 1)],
88 [(0, 0, 1, -1), (2, 0, 2, 1), (0, 0, 2, 1)],
89 [(0, 0, 1, -1), (2, 1, 2, 1),
None],
90 [(0, 0, 1, -1), (1, 9999, 2, 1), (0, 0, 2, 1)],
92 self.assertEqual(iov(a) | iov(b), self.
iovify(c), f
'{a} | {b} = {c}')
93 self.assertEqual(iov(b) | iov(a), self.
iovify(c), f
'{a} | {b} = {c}')