MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_basics

Method test_basics

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

Source from the content-addressed store, hash-verified

2061class TestCounter(unittest.TestCase):
2062
2063 def test_basics(self):
2064 c = Counter('abcaba')
2065 self.assertEqual(c, Counter({'a':3 , 'b': 2, 'c': 1}))
2066 self.assertEqual(c, Counter(a=3, b=2, c=1))
2067 self.assertIsInstance(c, dict)
2068 self.assertIsInstance(c, Mapping)
2069 self.assertIsSubclass(Counter, dict)
2070 self.assertIsSubclass(Counter, Mapping)
2071 self.assertEqual(len(c), 3)
2072 self.assertEqual(sum(c.values()), 6)
2073 self.assertEqual(list(c.values()), [3, 2, 1])
2074 self.assertEqual(list(c.keys()), ['a', 'b', 'c'])
2075 self.assertEqual(list(c), ['a', 'b', 'c'])
2076 self.assertEqual(list(c.items()),
2077 [('a', 3), ('b', 2), ('c', 1)])
2078 self.assertEqual(c['b'], 2)
2079 self.assertEqual(c['z'], 0)
2080 self.assertEqual(c.__contains__('c'), True)
2081 self.assertEqual(c.__contains__('z'), False)
2082 self.assertEqual(c.get('b', 10), 2)
2083 self.assertEqual(c.get('z', 10), 10)
2084 self.assertEqual(c, dict(a=3, b=2, c=1))
2085 self.assertEqual(repr(c), "Counter({'a': 3, 'b': 2, 'c': 1})")
2086 self.assertEqual(c.most_common(), [('a', 3), ('b', 2), ('c', 1)])
2087 for i in range(5):
2088 self.assertEqual(c.most_common(i),
2089 [('a', 3), ('b', 2), ('c', 1)][:i])
2090 self.assertEqual(''.join(c.elements()), 'aaabbc')
2091 c['a'] += 1 # increment an existing value
2092 c['b'] -= 2 # sub existing value to zero
2093 del c['c'] # remove an entry
2094 del c['c'] # make sure that del doesn't raise KeyError
2095 c['d'] -= 2 # sub from a missing value
2096 c['e'] = -5 # directly assign a missing value
2097 c['f'] += 4 # add to a missing value
2098 self.assertEqual(c, dict(a=4, b=0, d=-2, e=-5, f=4))
2099 self.assertEqual(''.join(c.elements()), 'aaaaffff')
2100 self.assertEqual(c.pop('f'), 4)
2101 self.assertNotIn('f', c)
2102 for i in range(3):
2103 elem, cnt = c.popitem()
2104 self.assertNotIn(elem, c)
2105 c.clear()
2106 self.assertEqual(c, {})
2107 self.assertEqual(repr(c), 'Counter()')
2108 self.assertRaises(NotImplementedError, Counter.fromkeys, 'abc')
2109 self.assertRaises(TypeError, hash, c)
2110 c.update(dict(a=5, b=3))
2111 c.update(c=1)
2112 c.update(Counter('a' * 50 + 'b' * 30))
2113 c.update() # test case with no args
2114 c.__init__('a' * 500 + 'b' * 300)
2115 c.__init__('cdc')
2116 c.__init__()
2117 self.assertEqual(c, dict(a=555, b=333, c=3, d=1))
2118 self.assertEqual(c.setdefault('d', 5), 1)
2119 self.assertEqual(c['d'], 1)
2120 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
lenFunction · 0.85
listClass · 0.85
reprFunction · 0.85
assertIsInstanceMethod · 0.80
assertNotInMethod · 0.80
sumFunction · 0.50

Tested by

no test coverage detected