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

Method test_compress

Lib/test/test_itertools.py:474–488  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

472 self.assertEqual(comb, sorted(set(cwr) & set(perm))) # comb: both a cwr and a perm
473
474 def test_compress(self):
475 self.assertEqual(list(compress(data='ABCDEF', selectors=[1,0,1,0,1,1])), list('ACEF'))
476 self.assertEqual(list(compress('ABCDEF', [1,0,1,0,1,1])), list('ACEF'))
477 self.assertEqual(list(compress('ABCDEF', [0,0,0,0,0,0])), list(''))
478 self.assertEqual(list(compress('ABCDEF', [1,1,1,1,1,1])), list('ABCDEF'))
479 self.assertEqual(list(compress('ABCDEF', [1,0,1])), list('AC'))
480 self.assertEqual(list(compress('ABC', [0,1,1,1,1,1])), list('BC'))
481 n = 10000
482 data = chain.from_iterable(repeat(range(6), n))
483 selectors = chain.from_iterable(repeat((0, 1)))
484 self.assertEqual(list(compress(data, selectors)), [1,3,5] * n)
485 self.assertRaises(TypeError, compress, None, range(6)) # 1st arg not iterable
486 self.assertRaises(TypeError, compress, range(6), None) # 2nd arg not iterable
487 self.assertRaises(TypeError, compress, range(6)) # too few args
488 self.assertRaises(TypeError, compress, range(6), None) # too many args
489
490 def test_count(self):
491 self.assertEqual(lzip('abc',count()), [('a', 0), ('b', 1), ('c', 2)])

Callers

nothing calls this directly

Calls 5

listClass · 0.85
compressFunction · 0.50
repeatFunction · 0.50
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected