Skip to content

Commit 141a135

Browse files
committed
Finished AboutGeneratorsAndLambdas
1 parent d41c42b commit 141a135

2 files changed

Lines changed: 17 additions & 17 deletions

File tree

python2/koans/about_generators.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def test_generating_values_on_the_fly(self):
1919
n in ['crunchy', 'veggie', 'danish'])
2020
for bacon in bacon_generator:
2121
result.append(bacon)
22-
self.assertEqual(__, result)
22+
self.assertEqual(['crunchy bacon', 'veggie bacon', 'danish bacon'], result)
2323

2424
def test_generators_are_different_to_list_comprehensions(self):
2525
num_list = [x * 2 for x in range(1, 3)]
@@ -28,7 +28,7 @@ def test_generators_are_different_to_list_comprehensions(self):
2828
self.assertEqual(2, num_list[0])
2929

3030
# A generator has to be iterated through.
31-
self.assertEqual(__, list(num_generator)[0])
31+
self.assertEqual(2, list(num_generator)[0])
3232

3333
# Both list comprehensions and generators can be iterated
3434
# though. However, a generator function is only called on the
@@ -43,8 +43,8 @@ def test_generator_expressions_are_a_one_shot_deal(self):
4343
attempt1 = list(dynamite)
4444
attempt2 = list(dynamite)
4545

46-
self.assertEqual(__, list(attempt1))
47-
self.assertEqual(__, list(attempt2))
46+
self.assertEqual(['Boom!', 'Boom!', 'Boom!'], list(attempt1))
47+
self.assertEqual([], list(attempt2))
4848

4949
# ------------------------------------------------------------------
5050

@@ -58,12 +58,12 @@ def test_generator_method_will_yield_values_during_iteration(self):
5858
result = list()
5959
for item in self.simple_generator_method():
6060
result.append(item)
61-
self.assertEqual(__, result)
61+
self.assertEqual(['peanut', 'butter', 'and', 'jelly'], result)
6262

6363
def test_coroutines_can_take_arguments(self):
6464
result = self.simple_generator_method()
65-
self.assertEqual(__, next(result))
66-
self.assertEqual(__, next(result))
65+
self.assertEqual('peanut', next(result))
66+
self.assertEqual('butter', next(result))
6767
result.close()
6868

6969
# ------------------------------------------------------------------
@@ -74,7 +74,7 @@ def square_me(self, seq):
7474

7575
def test_generator_method_with_parameter(self):
7676
result = self.square_me(range(2, 5))
77-
self.assertEqual(__, list(result))
77+
self.assertEqual([4, 9, 16], list(result))
7878

7979
# ------------------------------------------------------------------
8080

@@ -87,7 +87,7 @@ def sum_it(self, seq):
8787

8888
def test_generator_keeps_track_of_local_variables(self):
8989
result = self.sum_it(range(2, 5))
90-
self.assertEqual(__, list(result))
90+
self.assertEqual([2, 5, 9], list(result))
9191

9292
# ------------------------------------------------------------------
9393

@@ -105,15 +105,15 @@ def test_generators_can_take_coroutines(self):
105105
# section of http://www.python.org/dev/peps/pep-0342/
106106
next(generator)
107107

108-
self.assertEqual(__, generator.send(1 + 2))
108+
self.assertEqual(3, generator.send(1 + 2))
109109

110110
def test_before_sending_a_value_to_a_generator_next_must_be_called(self):
111111
generator = self.generator_with_coroutine()
112112

113113
try:
114114
generator.send(1 + 2)
115115
except TypeError as ex:
116-
self.assertMatch(__, ex[0])
116+
self.assertMatch(r'\w', ex[0])
117117

118118
# ------------------------------------------------------------------
119119

@@ -131,11 +131,11 @@ def test_generators_can_see_if_they_have_been_called_with_a_value(self):
131131

132132
generator2 = self.yield_tester()
133133
next(generator2)
134-
self.assertEqual(__, next(generator2))
134+
self.assertEqual('no value', next(generator2))
135135

136136
def test_send_none_is_equivalent_to_next(self):
137137
generator = self.yield_tester()
138138

139139
next(generator)
140140
# 'next(generator)' is exactly equivalent to 'generator.send(None)'
141-
self.assertEqual(__, generator.send(None))
141+
self.assertEqual('no value', generator.send(None))

python2/koans/about_lambdas.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
class AboutLambdas(Koan):
1212
def test_lambdas_can_be_assigned_to_variables_and_called_explicitly(self):
1313
add_one = lambda n: n + 1
14-
self.assertEqual(__, add_one(10))
14+
self.assertEqual(11, add_one(10))
1515

1616
# ------------------------------------------------------------------
1717

@@ -22,8 +22,8 @@ def test_accessing_lambda_via_assignment(self):
2222
sausages = self.make_order('sausage')
2323
eggs = self.make_order('egg')
2424

25-
self.assertEqual(__, sausages(3))
26-
self.assertEqual(__, eggs(2))
25+
self.assertEqual('3 sausages', sausages(3))
26+
self.assertEqual('2 eggs', eggs(2))
2727

2828
def test_accessing_lambda_without_assignment(self):
29-
self.assertEqual(__, self.make_order('spam')(39823))
29+
self.assertEqual('39823 spams', self.make_order('spam')(39823))

0 commit comments

Comments
 (0)