def test_crawl_reduction():
    merged = fsm(alphabet={'0', '1'}, states={1, 2, 3, 4, 'oblivion'}, initial=1, finals={4}, map={1: {'0': 2, '1': 4}, 2: {'0': 3, '1': 4}, 3: {'0': 3, '1': 4}, 4: {'0': 'oblivion', '1': 'oblivion'}, 'oblivion': {'0': 'oblivion', '1': 'oblivion'}}).reduce()
    assert (len(merged.states) == 2)
def test_crawl_reduction():
    merged = fsm(alphabet={'0', '1'}, states={1, 2, 3, 4, 'oblivion'}, initial=1, finals={4}, map={1: {'0': 2, '1': 4}, 2: {'0': 3, '1': 4}, 3: {'0': 3, '1': 4}, 4: {'0': 'oblivion', '1': 'oblivion'}, 'oblivion': {'0': 'oblivion', '1': 'oblivion'}}).reduce()
    assert (len(merged.states) == 2)