def test_keep_plus_discard(self): inp = ['1,2,3', 'one', 'almost!', 'love'] out = ['one', 'love', '1,2,3', 'almost!'] self.assertEqual(out, keep(inp, str.isalpha) + discard(inp, str.isalpha))
def test_discard_endswith(self): inp = ['dough', 'cash', 'plough', 'though', 'through', 'enough'] out = ['cash'] self.assertEqual(out, discard(inp, lambda x: str.endswith(x, 'ough')))
def test_keep_discard(self): inp = ['1,2,3', 'one', 'almost!', 'love'] self.assertEqual([], discard(keep(inp, str.isalpha), str.isalpha))
def test_empty_discard(self): inp = [2, 4, 6, 8, 10] out = [] self.assertEqual(out, discard(inp, lambda x: x % 2 == 0))