def test_overlap(self): ''' Get overlap. ''' fr1 = FmapRange((-11, -4, 3, 0), (3, 5, 7, 11)) fr2 = FmapRange((0, 3, 3, -5), (3, 10, 4, 3)) ofr = fr1.overlap(fr2) self.assertListEqual(ofr.beg_end(), [(0, 3), (3, 5), (3, 4), (0, 3)], 'overlap') self.assertEqual(fr2.overlap(fr1), ofr, 'overlap: commutative') fr3 = FmapRange((0, 7, 3, -5), (3, 10, 4, 3)) ofr = fr1.overlap(fr3) self.assertListEqual(ofr.beg_end(), [(0, 0)] * 4, 'overlap: no') fr4 = FmapRange((-12, -12, -12, -12), (12, 12, 12, 12)) self.assertEqual(fr1.overlap(fr4), fr1)
def test_overlap_error(self): ''' Get overlap error. ''' fr1 = FmapRange((-11, -4, 3, 0), (3, 5, 7, 11)) with self.assertRaisesRegex(TypeError, 'FmapRange: .*'): fr1.overlap(((0,) * 4, (2,) * 4))