def test_name_node(): node = Node() step_node = node.add(Step('foo')) variables = {} assert node.resolve('foo', variables) is step_node assert not variables assert node.resolve('bar', variables) is None assert not variables
def test_name_node(): node = Node() step_node = node.add(Step("foo")) variables = {} assert node.resolve("foo", variables) is step_node assert not variables assert node.resolve("bar", variables) is None assert not variables
def test_variable_node(): node = Node() step_node = node.add(Step("{x}")) variables = {} assert node.resolve("foo", variables) is step_node assert variables == {"x": "foo"} variables = {} assert node.resolve("bar", variables) is step_node assert variables == {"x": "bar"}
def test_variable_node(): node = Node() step_node = node.add(Step('{x}')) variables = {} assert node.resolve('foo', variables) is step_node assert variables == {'x': 'foo'} variables = {} assert node.resolve('bar', variables) is step_node assert variables == {'x': 'bar'}
def test_variable_node_optional_colon(): node = Node() x_node = node.add(Step('{x}')) xy_node = node.add(Step('{x}:{y}')) variables = {} assert node.resolve('a', variables) is x_node assert variables == {'x': 'a'} variables = {} assert node.resolve('a:b', variables) is xy_node assert variables == {'x': 'a', 'y': 'b'}
def test_variable_node_specific_first(): node = Node() x_node = node.add(Step('{x}')) prefix_node = node.add(Step('prefix{x}')) variables = {} assert node.resolve('what', variables) is x_node assert variables == {'x': 'what'} variables = {} assert node.resolve('prefixwhat', variables) is prefix_node assert variables == {'x': 'what'}
def test_mixed_node(): node = Node() step_node = node.add(Step('prefix{x}postfix')) variables = {} assert node.resolve('prefixfoopostfix', variables) is step_node assert variables == {'x': 'foo'} variables = {} assert node.resolve('prefixbarpostfix', variables) is step_node assert variables == {'x': 'bar'} variables = {} assert node.resolve('prefixwhat', variables) is None assert variables == {}
def test_variable_node_more_specific_first(): node = Node() xy_node = node.add(Step('x{x}y')) xay_node = node.add(Step('xa{x}y')) ay_node = node.add(Step('a{x}y')) assert node.get('xwhaty') == (xy_node, {'x': 'what'}) assert node.get('xawhaty') == (xay_node, {'x': 'what'}) assert node.get('awhaty') == (ay_node, {'x': 'what'})
def test_variable_node_more_specific_first(): node = Node() xy_node = node.add(Step("x{x}y")) xay_node = node.add(Step("xa{x}y")) ay_node = node.add(Step("a{x}y")) assert node.get("xwhaty") == (xy_node, {"x": "what"}) assert node.get("xawhaty") == (xay_node, {"x": "what"}) assert node.get("awhaty") == (ay_node, {"x": "what"})
def test_variable_node_more_specific_first(): node = Node() xy_node = node.add(Step("x{x}y")) xay_node = node.add(Step("xa{x}y")) ay_node = node.add(Step("a{x}y")) variables = {} assert node.resolve("xwhaty", variables) is xy_node assert variables == {"x": "what"} variables = {} assert node.resolve("xawhaty", variables) is xay_node assert variables == {"x": "what"} variables = {} assert node.resolve("awhaty", variables) is ay_node assert variables == {"x": "what"}
def test_variable_node_more_specific_first(): node = Node() xy_node = node.add(Step('x{x}y')) xay_node = node.add(Step('xa{x}y')) ay_node = node.add(Step('a{x}y')) variables = {} assert node.resolve('xwhaty', variables) is xy_node assert variables == {'x': 'what'} variables = {} assert node.resolve('xawhaty', variables) is xay_node assert variables == {'x': 'what'} variables = {} assert node.resolve('awhaty', variables) is ay_node assert variables == {'x': 'what'}
def test_variable_node_optional_colon(): node = Node() x_node = node.add(Step("{x}")) xy_node = node.add(Step("{x}:{y}")) variables = {} assert node.resolve("a", variables) is x_node assert variables == {"x": "a"} variables = {} assert node.resolve("a:b", variables) is xy_node assert variables == {"x": "a", "y": "b"}
def test_variable_node_specific_first(): node = Node() x_node = node.add(Step("{x}")) prefix_node = node.add(Step("prefix{x}")) variables = {} assert node.resolve("what", variables) is x_node assert variables == {"x": "what"} variables = {} assert node.resolve("prefixwhat", variables) is prefix_node assert variables == {"x": "what"}
def test_mixed_node(): node = Node() step_node = node.add(Step("prefix{x}postfix")) variables = {} assert node.resolve("prefixfoopostfix", variables) is step_node assert variables == {"x": "foo"} variables = {} assert node.resolve("prefixbarpostfix", variables) is step_node assert variables == {"x": "bar"} variables = {} assert node.resolve("prefixwhat", variables) is None assert variables == {}
def test_variable_node_specific_first(): node = Node() x_node = node.add(Step('{x}')) prefix_node = node.add(Step('prefix{x}')) assert node.get('what') == (x_node, {'x': 'what'}) assert node.get('prefixwhat') == (prefix_node, {'x': 'what'})
def test_mixed_node(): node = Node() step_node = node.add(Step('prefix{x}postfix')) assert node.get('prefixfoopostfix') == (step_node, {'x': 'foo'}) assert node.get('prefixbarpostfix') == (step_node, {'x': 'bar'}) assert node.get('prefixwhat') == (None, {})
def test_variable_node(): node = Node() step_node = node.add(Step('{x}')) assert node.get('foo') == (step_node, {'x': 'foo'}) assert node.get('bar') == (step_node, {'x': 'bar'})
def test_name_node(): node = Node() step_node = node.add(Step('foo')) assert node.get('foo') == (step_node, {}) assert node.get('bar') == (None, {})
def test_variable_node_optional_colon(): node = Node() x_node = node.add(Step("{x}")) xy_node = node.add(Step("{x}:{y}")) assert node.get("a") == (x_node, {"x": "a"}) assert node.get("a:b") == (xy_node, {"x": "a", "y": "b"})
def test_variable_node_optional_colon(): node = Node() x_node = node.add(Step('{x}')) xy_node = node.add(Step('{x}:{y}')) assert node.get('a') == (x_node, {'x': 'a'}) assert node.get('a:b') == (xy_node, {'x': 'a', 'y': 'b'})
def test_variable_node_specific_first(): node = Node() x_node = node.add(Step("{x}")) prefix_node = node.add(Step("prefix{x}")) assert node.get("what") == (x_node, {"x": "what"}) assert node.get("prefixwhat") == (prefix_node, {"x": "what"})
def test_mixed_node(): node = Node() step_node = node.add(Step("prefix{x}postfix")) assert node.get("prefixfoopostfix") == (step_node, {"x": "foo"}) assert node.get("prefixbarpostfix") == (step_node, {"x": "bar"}) assert node.get("prefixwhat") == (None, {})
def test_variable_node(): node = Node() step_node = node.add(Step("{x}")) assert node.get("foo") == (step_node, {"x": "foo"}) assert node.get("bar") == (step_node, {"x": "bar"})
def test_name_node(): node = Node() step_node = node.add(Step("foo")) assert node.get("foo") == (step_node, {}) assert node.get("bar") == (None, {})