def test_layers(self): s3_4 = NullAnno(3, 4) s2_4 = NullAnno(2, 4) s3_5 = NullAnno(3, 5) g = EnclosureGraph([s3_4, s2_4, s3_5]) g.reduce() self.assertEqual([s3_4], g.inside(s3_5)) self.assertEqual([s3_4], g.inside(s2_4)) self.assertEqual([s2_4, s3_5], g.outside(s3_4))
def test_same_span(self): s1_5 = NullAnno(1,5,'out') s2_4a = NullAnno(2,4,'a') s2_4b = NullAnno(2,4,'b') s3_4 = NullAnno(3,4,'in') g = EnclosureGraph([s1_5, s2_4a, s2_4b, s3_4]) g.reduce() self.assertEqual([s2_4a, s2_4b], g.inside(s1_5)) self.assertEqual([s3_4], g.inside(s2_4a)) self.assertEqual([s3_4], g.inside(s2_4b)) self.assertEqual([s2_4a, s2_4b], g.outside(s3_4))
def test_indirect_enclosure_untyped(self): """ reduce only pays attention to nodes of different type """ s_1_5 = NullAnno(1,5) s_2_4 = NullAnno(2,4) s_3_4 = NullAnno(3,4) g = EnclosureGraph([s_1_5, s_2_4, s_3_4]) g.reduce() self.assertEqual([s_2_4, s_3_4], g.inside(s_1_5)) self.assertEqual([s_1_5], g.outside(s_2_4)) self.assertEqual([s_1_5, s_2_4], g.outside(s_3_4))