Beispiel #1
0
def test_taxa_of_programs():
    dbf = ProgramFilter(db)
    programs = {"prg8.py", "prg9.py", "non_existing_program"}
    taxa = dbf.taxa_of_programs(programs)
    prg8_taxa = set(dbf.db_programs["prg8.py"]["taxa"])
    prg9_taxa = set(dbf.db_programs["prg9.py"]["taxa"])
    print(sorted(taxa))
    assert taxa == prg8_taxa | prg9_taxa
Beispiel #2
0
def test_taxa_of_programs():
    dbf = ProgramFilter(db)
    # collatz is imported by fizzbuzz
    subset_taxa = dbf.taxa_of_programs({"collatz.py"}, follow=False)
    subset_taxa = set(filter(lambda x: not x.startswith("meta/"), subset_taxa))
    print(sorted(subset_taxa))
    print()
    # when following the importations...
    superset_taxa = dbf.taxa_of_programs({"fizzbuzz.py"}, follow=True)
    superset_taxa = set(
        filter(lambda x: not x.startswith("meta/"), superset_taxa))
    print(sorted(superset_taxa))
    # in addition to its own taxa, fizzbuzz features all those of collatz...
    assert superset_taxa.issuperset(subset_taxa)
    assert len(superset_taxa - subset_taxa) > 0
    # when not following the importations...
    own_taxa = dbf.taxa_of_programs({"fizzbuzz.py"}, follow=False)
    own_taxa = set(filter(lambda x: not x.startswith("meta/"), own_taxa))
    print(sorted(own_taxa))
    assert superset_taxa.issuperset(own_taxa)
    assert len(superset_taxa - own_taxa) > 0