def test_mergemap(self): marbles = ['A B C D', '_1 2 3 4', '__K L M N'] event = Event.range(3) \ .mergemap(lambda v: Event.marble(marbles[v])) self.assertEqual( event.run(), ['A', '1', 'K', 'B', '2', 'L', '3', 'C', 'M', '4', 'D', 'N'])
def test_switchmap(self): marbles = [ 'A B C D ', '_ K L M N', '__ 1 2 3 4' ] event = Event.range(3) \ .switchmap(lambda v: Event.marble(marbles[v])) self.assertEqual(event.run(), ['A', 'B', '1', '2', 'K', 'L', 'M', 'N'])
def test_marble(self): s = ' a b c d e f' event = Event.marble(s, interval=0.001) self.assertEqual(event.run(), [c for c in 'abcdef'])