def test_oblivion_crawl(a):
    abc = fsm(alphabet={'a', 'b', 'c'}, states={0, 1, 2, 3}, initial=0, finals={3}, map={0: {'a': 1}, 1: {'b': 2}, 2: {'c': 3}})
    assert (len((abc + abc).states) == 7)
    assert (len(abc.star().states) == 3)
    assert (len((abc * 3).states) == 10)
    assert (len(reversed(abc).states) == 4)
    assert (len((abc | abc).states) == 4)
    assert (len((abc & abc).states) == 4)
    assert (len((abc ^ abc).states) == 1)
    assert (len((abc - abc).states) == 1)
def test_oblivion_crawl(a):
    abc = fsm(alphabet={'a', 'b', 'c'}, states={0, 1, 2, 3}, initial=0, finals={3}, map={0: {'a': 1}, 1: {'b': 2}, 2: {'c': 3}})
    assert (len((abc + abc).states) == 7)
    assert (len(abc.star().states) == 3)
    assert (len((abc * 3).states) == 10)
    assert (len(reversed(abc).states) == 4)
    assert (len((abc | abc).states) == 4)
    assert (len((abc & abc).states) == 4)
    assert (len((abc ^ abc).states) == 1)
    assert (len((abc - abc).states) == 1)