def test_lca(self): a = LCA.Node('a', None) b = LCA.Node('b', a) c = LCA.Node('c', a) d = LCA.Node('d', b) e = LCA.Node('e', b) f = LCA.Node('f', e) g = LCA.Node('g', e) h = LCA.Node('h', c) self.assertEqual('b', LCA.getLCA(d, f)) self.assertEqual('e', LCA.getLCA(f, g)) self.assertEqual('a', LCA.getLCA(g, c)) self.assertEqual('a', LCA.getLCA(d, h)) self.assertEqual('none', LCA.getLCA(a, b))
def testEmpty(self): self.assertEqual(-1, LCA.getLCA(None, None, None, ))
def test3_14(self): self.assertEqual(-1, LCA.getLCA(LCA.root, 3, 14, ))
def test3_4(self): self.assertEqual(1, LCA.getLCA(LCA.root, 3, 4, ))
def test7_11(self): self.assertEqual(1, LCA.getLCA(LCA.root, 7, 11, ))
def test2_11(self): self.assertEqual(2, LCA.getLCA(LCA.root, 2, 11, ))