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_converter(): step = Step('{foo}', converters=dict(foo=Converter(int))) assert step.discriminator_info() == '{}' variables = {} assert step.match('1', variables) assert variables == {'foo': 1} variables = {} assert not step.match('x', variables) assert not variables
def test_converter(): step = Step("{foo}", converters=dict(foo=Converter(int))) assert step.discriminator_info() == "{}" variables = {} assert step.match("1", variables) assert variables == {"foo": 1} variables = {} assert not step.match("x", 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.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_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_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 == {}
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 == {}
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 == {}
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_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_converter(): step = Step('{foo}', converters=dict(foo=Converter(int))) assert step.match('1') == (True, {'foo': 1}) assert step.match('x') == (False, {}) assert step.discriminator_info() == '{}'
def test_converter(): step = Step('{foo:int}') assert step.match('1') == (True, {'foo': 1}) assert step.match('x') == (False, {}) assert step.discriminator_info() == '{int}'
def test_converter(): step = Step("{foo}", converters=dict(foo=Converter(int))) assert step.match("1") == (True, {"foo": 1}) assert step.match("x") == (False, {}) assert step.discriminator_info() == "{}"