| 366 | l.aggregate(None, None, None, None) |
| 367 | |
| 368 | def test_fold_left(self): |
| 369 | f = lambda current, next_element: current + next_element |
| 370 | l = self.seq([1, 2, 3, 4]) |
| 371 | self.assertEqual(l.fold_left(0, f), 10) |
| 372 | self.assertEqual(l.fold_left(-10, f), 0) |
| 373 | l = self.seq(["a", "b", "c"]) |
| 374 | self.assertEqual(l.fold_left("", f), "abc") |
| 375 | self.assertEqual(l.fold_left("z", f), "zabc") |
| 376 | f = lambda x, y: x + [y] |
| 377 | self.assertEqual(l.fold_left([], f), ["a", "b", "c"]) |
| 378 | self.assertEqual(l.fold_left(["start"], f), ["start", "a", "b", "c"]) |
| 379 | |
| 380 | def test_fold_right(self): |
| 381 | f = lambda next_element, current: current + next_element |