MCPcopy
hub / github.com/pallets/werkzeug / test_basic_interface

Method test_basic_interface

tests/test_datastructures.py:84–262  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

82 assert dict(md) == {**md} == {"a": 1}
83
84 def test_basic_interface(self):
85 md = self.storage_class()
86 assert isinstance(md, dict)
87
88 mapping = [
89 ("a", 1),
90 ("b", 2),
91 ("a", 2),
92 ("d", 3),
93 ("a", 1),
94 ("a", 3),
95 ("d", 4),
96 ("c", 3),
97 ]
98 md = self.storage_class(mapping)
99
100 # simple getitem gives the first value
101 assert md["a"] == 1
102 assert md["c"] == 3
103 with pytest.raises(KeyError):
104 md["e"]
105 assert md.get("a") == 1
106
107 # list getitem
108 assert md.getlist("a") == [1, 2, 1, 3]
109 assert md.getlist("d") == [3, 4]
110 # do not raise if key not found
111 assert md.getlist("x") == []
112
113 # simple setitem overwrites all values
114 md["a"] = 42
115 assert md.getlist("a") == [42]
116
117 # list setitem
118 md.setlist("a", [1, 2, 3])
119 assert md["a"] == 1
120 assert md.getlist("a") == [1, 2, 3]
121
122 # verify that it does not change original lists
123 l1 = [1, 2, 3]
124 md.setlist("a", l1)
125 del l1[:]
126 assert md["a"] == 1
127
128 # setdefault, setlistdefault
129 assert md.setdefault("u", 23) == 23
130 assert md.getlist("u") == [23]
131 del md["u"]
132
133 md.setlist("u", [-1, -2])
134
135 # delitem
136 del md["u"]
137 with pytest.raises(KeyError):
138 md["u"]
139 del md["d"]
140 assert md.getlist("d") == []
141

Callers

nothing calls this directly

Calls 15

deepcopyMethod · 0.80
appendMethod · 0.80
to_dictMethod · 0.80
listFunction · 0.50
getMethod · 0.45
getlistMethod · 0.45
setlistMethod · 0.45
setdefaultMethod · 0.45
keysMethod · 0.45
valuesMethod · 0.45
itemsMethod · 0.45
listsMethod · 0.45

Tested by

no test coverage detected