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

Method test_basics

Lib/test/test_collections.py:2078–2136  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2076class TestCounter(unittest.TestCase):
2077
2078 def test_basics(self):
2079 c = Counter('abcaba')
2080 self.assertEqual(c, Counter({'a':3 , 'b': 2, 'c': 1}))
2081 self.assertEqual(c, Counter(a=3, b=2, c=1))
2082 self.assertIsInstance(c, dict)
2083 self.assertIsInstance(c, Mapping)
2084 self.assertIsSubclass(Counter, dict)
2085 self.assertIsSubclass(Counter, Mapping)
2086 self.assertEqual(len(c), 3)
2087 self.assertEqual(sum(c.values()), 6)
2088 self.assertEqual(list(c.values()), [3, 2, 1])
2089 self.assertEqual(list(c.keys()), ['a', 'b', 'c'])
2090 self.assertEqual(list(c), ['a', 'b', 'c'])
2091 self.assertEqual(list(c.items()),
2092 [('a', 3), ('b', 2), ('c', 1)])
2093 self.assertEqual(c['b'], 2)
2094 self.assertEqual(c['z'], 0)
2095 self.assertEqual(c.__contains__('c'), True)
2096 self.assertEqual(c.__contains__('z'), False)
2097 self.assertEqual(c.get('b', 10), 2)
2098 self.assertEqual(c.get('z', 10), 10)
2099 self.assertEqual(c, dict(a=3, b=2, c=1))
2100 self.assertEqual(repr(c), "Counter({'a': 3, 'b': 2, 'c': 1})")
2101 self.assertEqual(c.most_common(), [('a', 3), ('b', 2), ('c', 1)])
2102 for i in range(5):
2103 self.assertEqual(c.most_common(i),
2104 [('a', 3), ('b', 2), ('c', 1)][:i])
2105 self.assertEqual(''.join(c.elements()), 'aaabbc')
2106 c['a'] += 1 # increment an existing value
2107 c['b'] -= 2 # sub existing value to zero
2108 del c['c'] # remove an entry
2109 del c['c'] # make sure that del doesn't raise KeyError
2110 c['d'] -= 2 # sub from a missing value
2111 c['e'] = -5 # directly assign a missing value
2112 c['f'] += 4 # add to a missing value
2113 self.assertEqual(c, dict(a=4, b=0, d=-2, e=-5, f=4))
2114 self.assertEqual(''.join(c.elements()), 'aaaaffff')
2115 self.assertEqual(c.pop('f'), 4)
2116 self.assertNotIn('f', c)
2117 for i in range(3):
2118 elem, cnt = c.popitem()
2119 self.assertNotIn(elem, c)
2120 c.clear()
2121 self.assertEqual(c, {})
2122 self.assertEqual(repr(c), 'Counter()')
2123 self.assertRaises(NotImplementedError, Counter.fromkeys, 'abc')
2124 self.assertRaises(TypeError, hash, c)
2125 c.update(dict(a=5, b=3))
2126 c.update(c=1)
2127 c.update(Counter('a' * 50 + 'b' * 30))
2128 c.update() # test case with no args
2129 c.__init__('a' * 500 + 'b' * 300)
2130 c.__init__('cdc')
2131 c.__init__()
2132 self.assertEqual(c, dict(a=555, b=333, c=3, d=1))
2133 self.assertEqual(c.setdefault('d', 5), 1)
2134 self.assertEqual(c['d'], 1)
2135 self.assertEqual(c.setdefault('e', 5), 5)

Callers

nothing calls this directly

Calls 15

getMethod · 0.95
most_commonMethod · 0.95
elementsMethod · 0.95
updateMethod · 0.95
__init__Method · 0.95
CounterClass · 0.90
listClass · 0.85
assertIsInstanceMethod · 0.80
assertIsSubclassMethod · 0.80
assertNotInMethod · 0.80
assertEqualMethod · 0.45
valuesMethod · 0.45

Tested by

no test coverage detected