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}')