def test_map_iterator(): sm = m.StringMap({'hi': 'bye', 'black': 'white'}) assert sm['hi'] == 'bye' assert len(sm) == 2 assert sm['black'] == 'white' with pytest.raises(KeyError): assert sm['orange'] sm['orange'] = 'banana' assert sm['orange'] == 'banana' expected = {'hi': 'bye', 'black': 'white', 'orange': 'banana'} for k in sm: assert sm[k] == expected[k] for k, v in sm.items(): assert v == expected[k] it = iter(m.StringMap({})) for _ in range(3): # __next__ must continue to raise StopIteration with pytest.raises(StopIteration): next(it)
def test_map_iterator(): sm = m.StringMap({"hi": "bye", "black": "white"}) assert sm["hi"] == "bye" assert len(sm) == 2 assert sm["black"] == "white" with pytest.raises(KeyError): assert sm["orange"] sm["orange"] = "banana" assert sm["orange"] == "banana" expected = {"hi": "bye", "black": "white", "orange": "banana"} for k in sm: assert sm[k] == expected[k] for k, v in sm.items(): assert v == expected[k] it = iter(m.StringMap({})) for _ in range(3): # __next__ must continue to raise StopIteration with pytest.raises(StopIteration): next(it)