def test_mixed_step(): step = Step("a{foo}b") assert step.s == "a{foo}b" assert step.generalized == "a{}b" assert step.parts == ("a", "b") assert step.names == ["foo"] assert step.converters == {} assert step.has_variables() assert step.discriminator_info() == "a{}b" variables = {} assert step.match("abarb", variables) assert variables == {"foo": "bar"} variables = {} assert not step.match("ab", variables) assert not variables variables = {} assert not step.match("xbary", variables) assert not variables variables = {} assert not step.match("yabarbx", variables) assert not variables variables = {} assert not step.match("afoo", variables) assert not variables
def test_mixed_step(): step = Step('a{foo}b') assert step.s == 'a{foo}b' assert step.generalized == 'a{}b' assert step.parts == ('a', 'b') assert step.names == ['foo'] assert step.converters == {} assert step.has_variables() assert step.discriminator_info() == 'a{}b' variables = {} assert step.match('abarb', variables) assert variables == {'foo': 'bar'} variables = {} assert not step.match('ab', variables) assert not variables variables = {} assert not step.match('xbary', variables) assert not variables variables = {} assert not step.match('yabarbx', variables) assert not variables variables = {} assert not step.match('afoo', variables) assert not variables
def test_multi_mixed_step(): step = Step('{foo}a{bar}') assert step.s == '{foo}a{bar}' assert step.generalized == '{}a{}' assert step.parts == ('', 'a', '') assert step.names == ['foo', 'bar'] assert step.converters == {} assert step.has_variables() assert step.discriminator_info() == '{}a{}'
def test_multi_mixed_step(): step = Step("{foo}a{bar}") assert step.s == "{foo}a{bar}" assert step.generalized == "{}a{}" assert step.parts == ("", "a", "") assert step.names == ["foo", "bar"] assert step.converters == {} assert step.has_variables() assert step.discriminator_info() == "{}a{}"
def test_variable_step(): step = Step('{foo}') assert step.s == '{foo}' assert step.generalized == '{}' assert step.parts == ('', '') assert step.names == ['foo'] assert step.converters == {} assert step.has_variables() assert step.match('bar') == (True, {'foo': 'bar'}) assert step.discriminator_info() == '{}'
def test_variable_step(): step = Step("{foo}") assert step.s == "{foo}" assert step.generalized == "{}" assert step.parts == ("", "") assert step.names == ["foo"] assert step.converters == {} assert step.has_variables() assert step.match("bar") == (True, {"foo": "bar"}) assert step.discriminator_info() == "{}"
def test_name_step(): step = Step('foo') assert step.s == 'foo' assert step.generalized == 'foo' assert step.parts == ('foo',) assert step.names == [] assert step.converters == {} assert not step.has_variables() assert step.match('foo') == (True, {}) assert step.match('bar') == (False, {}) assert step.discriminator_info() == 'foo'
def test_name_step(): step = Step("foo") assert step.s == "foo" assert step.generalized == "foo" assert step.parts == ("foo",) assert step.names == [] assert step.converters == {} assert not step.has_variables() assert step.match("foo") == (True, {}) assert step.match("bar") == (False, {}) assert step.discriminator_info() == "foo"
def test_variable_step(): step = Step("{foo}") assert step.s == "{foo}" assert step.generalized == "{}" assert step.parts == ("", "") assert step.names == ["foo"] assert step.converters == {} assert step.has_variables() assert step.discriminator_info() == "{}" variables = {} assert step.match("bar", variables) assert variables == {"foo": "bar"}
def test_mixed_step(): step = Step('a{foo}b') assert step.s == 'a{foo}b' assert step.generalized == 'a{}b' assert step.parts == ('a', 'b') assert step.names == ['foo'] assert step.converters == [str] assert step.has_variables() assert step.match('abarb') == (True, {'foo': 'bar'}) assert step.match('ab') == (False, {}) assert step.match('xbary') == (False, {}) assert step.match('yabarbx') == (False, {}) assert step.match('afoo') == (False, {}) assert step.discriminator_info() == 'a{str}b'
def test_mixed_step(): step = Step("a{foo}b") assert step.s == "a{foo}b" assert step.generalized == "a{}b" assert step.parts == ("a", "b") assert step.names == ["foo"] assert step.converters == {} assert step.has_variables() assert step.match("abarb") == (True, {"foo": "bar"}) assert step.match("ab") == (False, {}) assert step.match("xbary") == (False, {}) assert step.match("yabarbx") == (False, {}) assert step.match("afoo") == (False, {}) assert step.discriminator_info() == "a{}b"
def test_name_step(): step = Step("foo") assert step.s == "foo" assert step.generalized == "foo" assert step.parts == ("foo", ) assert step.names == [] assert step.converters == {} assert step.discriminator_info() == "foo" assert not step.has_variables() variables = {} assert step.match("foo", variables) assert variables == {} assert not step.match("bar", variables) assert variables == {}