def test_expand(): assert_eq_list(expand_conditionals('r: g1 g2'), ('r : g1 g2', )) assert_eq_list(expand_conditionals('r: g1 g2?'), ('r : g1', 'r : g1 g2')) assert_eq_list(expand_conditionals('r: {g1:name}? g2'), ('r : g2', 'r : g1 g2')) assert_eq_list(expand_conditionals('r: g1? g2?'), ('r :', 'r : g1', 'r : g1 g2', 'r : g2')) assert_expand('r: s? r s?', ('r : r', 'r : s r', 'r : r s', 'r : s r s'))
def assert_expand(rule, result): assert_eq_list(expand_conditionals(rule), result) assert_eq_list(expand_conditionals(rule, format = False), parse('\n'.join(result)))