def test_find_lca_2(): tree = build_tree([[LineagePair('rank1', 'name1'), LineagePair('rank2', 'name2a')], [LineagePair('rank1', 'name1'), LineagePair('rank2', 'name2b')], ]) lca = find_lca(tree) assert lca == ((LineagePair('rank1', 'name1'),), 2)
def test_build_tree_2(): tree = build_tree([[LineagePair('rank1', 'name1'), LineagePair('rank2', 'name2a')], [LineagePair('rank1', 'name1'), LineagePair('rank2', 'name2b')], ]) assert tree == { LineagePair('rank1', 'name1'): { LineagePair('rank2', 'name2a') : {}, LineagePair('rank2', 'name2b') : {}} }
def test_build_tree_3(): # empty 'rank2' name tree = build_tree([[LineagePair('rank1', 'name1'), LineagePair('rank2', '')]]) assert tree == { LineagePair('rank1', 'name1'): {} }
def test_build_tree(): tree = build_tree([[LineagePair('rank1', 'name1'), LineagePair('rank2', 'name2')]]) assert tree == { LineagePair('rank1', 'name1'): { LineagePair('rank2', 'name2') : {}} }
def test_display_lineage_2(): x = [ LineagePair('superkingdom', 'a'), LineagePair(None, ''), LineagePair('class', 'c') ] assert display_lineage(x) == "a;;c", display_lineage(x)
def test_display_lineage_1(): x = [ LineagePair('superkingdom', 'a'), LineagePair('phylum', 'b') ] assert display_lineage(x) == "a;b", display_lineage(x)
def test_zip_lineage_4(): x = [ LineagePair('superkingdom', 'a'), LineagePair('class', 'c') ] with pytest.raises(ValueError) as e: zip_lineage(x) assert 'incomplete lineage at phylum - is class instead' in str(e.value)
def test_zip_lineage_3_truncate(): x = [ LineagePair('superkingdom', 'a'), LineagePair(None, ''), LineagePair('class', 'c') ] assert zip_lineage(x, truncate_empty=True) == ['a', '', 'c']
def test_zip_lineage_3(): x = [ LineagePair('superkingdom', 'a'), LineagePair(None, ''), LineagePair('class', 'c') ] assert zip_lineage(x) == ['a', '', 'c', '', '', '', '', '']
def test_zip_lineage_2(): x = [ LineagePair('superkingdom', 'a'), LineagePair('phylum', 'b') ] assert zip_lineage(x, truncate_empty=True) == ['a', 'b']
def test_zip_lineage_1(): x = [ LineagePair('superkingdom', 'a'), LineagePair('phylum', 'b') ] assert zip_lineage(x) == ['a', 'b', '', '', '', '', '', '']
def test_find_lca(): tree = build_tree([[LineagePair('rank1', 'name1'), LineagePair('rank2', 'name2')]]) lca = find_lca(tree) assert lca == ((LineagePair('rank1', 'name1'), LineagePair('rank2', 'name2'),), 0)