MCPcopy Index your code
hub / github.com/python/cpython / test_read

Method test_read

Lib/test/mapping_tests.py:40–86  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

38 self.reference[key] = value
39
40 def test_read(self):
41 # Test for read only operations on mapping
42 p = self._empty_mapping()
43 p1 = dict(p) #workaround for singleton objects
44 d = self._full_mapping(self.reference)
45 if d is p:
46 p = p1
47 #Indexing
48 for key, value in self.reference.items():
49 self.assertEqual(d[key], value)
50 knownkey = list(self.other.keys())[0]
51 self.assertRaises(KeyError, lambda:d[knownkey])
52 #len
53 self.assertEqual(len(p), 0)
54 self.assertEqual(len(d), len(self.reference))
55 #__contains__
56 for k in self.reference:
57 self.assertIn(k, d)
58 for k in self.other:
59 self.assertNotIn(k, d)
60 #cmp
61 self.assertEqual(p, p)
62 self.assertEqual(d, d)
63 self.assertNotEqual(p, d)
64 self.assertNotEqual(d, p)
65 #bool
66 if p: self.fail("Empty mapping must compare to False")
67 if not d: self.fail("Full mapping must compare to True")
68 # keys(), items(), iterkeys() ...
69 def check_iterandlist(iter, lst, ref):
70 self.assertHasAttr(iter, '__next__')
71 self.assertHasAttr(iter, '__iter__')
72 x = list(iter)
73 self.assertTrue(set(x)==set(lst)==set(ref))
74 check_iterandlist(iter(d.keys()), list(d.keys()),
75 self.reference.keys())
76 check_iterandlist(iter(d), list(d.keys()), self.reference.keys())
77 check_iterandlist(iter(d.values()), list(d.values()),
78 self.reference.values())
79 check_iterandlist(iter(d.items()), list(d.items()),
80 self.reference.items())
81 #get
82 key, value = next(iter(d.items()))
83 knownkey, knownvalue = next(iter(self.other.items()))
84 self.assertEqual(d.get(key, knownvalue), value)
85 self.assertEqual(d.get(knownkey, knownvalue), knownvalue)
86 self.assertNotIn(knownkey, d)
87
88 def test_constructor(self):
89 self.assertEqual(self._empty_mapping(), self._empty_mapping())

Callers

nothing calls this directly

Calls 13

_empty_mappingMethod · 0.95
_full_mappingMethod · 0.95
listClass · 0.85
assertInMethod · 0.80
assertNotInMethod · 0.80
assertNotEqualMethod · 0.80
itemsMethod · 0.45
assertEqualMethod · 0.45
keysMethod · 0.45
assertRaisesMethod · 0.45
failMethod · 0.45
valuesMethod · 0.45

Tested by

no test coverage detected