def test_stack_context(name): stack = ContextStack(name) stack.push(a=1) assert list(stack.items()) == [('a', 1)] with stack(b=2): assert list(stack.items()) == [('b', 2), ('a', 1)] assert list(stack.items()) == [('a', 1)]
def test_stack_context_manager(): stack = ContextStack() stack.push(a=1) assert list(stack.items()) == [('a', 1)] with stack(b=2): assert list(stack.items()) == [('b', 2), ('a', 1)] assert list(stack.items()) == [('a', 1)]
def test_stack_clear(name): stack = ContextStack(name) stack.push(a=1) stack.push(b=2) stack.push(c=3) assert list(stack.items()) == [('c', 3), ('b', 2), ('a', 1)] stack.clear() assert list(stack.items()) == []
def test_stack_dict_arg(): stack = ContextStack() with stack({'a': 1}): assert list(stack.items()) == [('a', 1)] with stack({'a': 1}, b=2): # order not preserved, as kwargs assert dict(stack) == {'a': 1, 'b': 2}
def test_stack_dict_arg(name): stack = ContextStack(name) with stack({'a': 1}): assert list(stack.items()) == [('a', 1)] with stack({'a': 1}, b=2): # order not preserved, as kwargs assert dict(stack) == {'a': 1, 'b': 2}
def test_stack_basic(): stack = ContextStack() stack.push(a=1) assert stack['a'] == 1 assert list(stack.items()) == [('a', 1)] stack.push(b=2) assert stack['b'] == 2 assert list(stack.items()) == [('b', 2), ('a', 1)] stack.push(a=3) assert stack['a'] == 3 assert list(stack.items()) == [('a', 3), ('b', 2)] stack.pop() assert stack['a'] == 1 assert list(stack.items()) == [('b', 2), ('a', 1)] stack.pop() assert stack['a'] == 1 assert list(stack.items()) == [('a', 1)] stack.pop() with pytest.raises(KeyError): stack['a'] assert list(stack.items()) == []
def test_stack_basic(name): stack = ContextStack(name) stack.push(a=1) assert stack['a'] == 1 assert list(stack.items()) == [('a', 1)] stack.push(b=2) assert stack['b'] == 2 assert list(stack.items()) == [('b', 2), ('a', 1)] stack.push(a=3) assert stack['a'] == 3 assert list(stack.items()) == [('a', 3), ('b', 2)] stack.pop() assert stack['a'] == 1 assert list(stack.items()) == [('b', 2), ('a', 1)] stack.pop() assert stack['a'] == 1 assert list(stack.items()) == [('a', 1)] stack.pop() with pytest.raises(KeyError): stack['a'] assert list(stack.items()) == []