Skip to content

Commit daeecf2

Browse files
committed
Failing Test Waiting for Observer Pattern
1 parent 4dea02a commit daeecf2

File tree

5 files changed

+118
-9
lines changed

5 files changed

+118
-9
lines changed

.idea/dictionaries/Chris.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
7.16 KB
Binary file not shown.
3.31 KB
Binary file not shown.

tests/Infrastrcture/TestsMobberManager.py

Lines changed: 104 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,33 @@ def __init__(self):
66
self.mobber_list = []
77

88
def mobber_count(self):
9-
return 0
9+
return self.mobber_list.__len__()
1010

1111
def add_mobber(self, mobber_name):
1212
self.mobber_list.append(mobber_name)
1313

1414
def get_mobbers(self):
1515
return self.mobber_list
1616

17+
def remove_mobber(self, remove_mobber_index):
18+
if self.mobber_count() == 0: return
19+
del self.mobber_list[remove_mobber_index]
20+
21+
def move_mobber_up(self, swap_index):
22+
if self.mobber_count() == 0: return
23+
destination_index = swap_index - 1
24+
self.mobber_list[swap_index], self.mobber_list[destination_index] = self.mobber_list[destination_index], \
25+
self.mobber_list[swap_index]
26+
27+
def move_mobber_down(self, swap_index):
28+
if self.mobber_count() == 0: return
29+
destination_index = (swap_index + 1) % self.mobber_list.__len__()
30+
self.mobber_list[swap_index], self.mobber_list[destination_index] = self.mobber_list[destination_index], \
31+
self.mobber_list[swap_index]
32+
1733

1834
class TestsMobberManager(unittest.TestCase):
19-
def test_emty_mobber_manager_has_no_items(self):
35+
def test_empty_mobber_manager_has_no_items(self):
2036
mobber_manager = MobberManager()
2137
self.assertEqual(mobber_manager.mobber_count(), 0)
2238

@@ -26,14 +42,99 @@ def test_add_mobber_chris_has_chris(self):
2642
result = ["Chris"]
2743
self.assertEqual(mobber_manager.get_mobbers(), result)
2844

29-
3045
def test_add_mobber_joe_chris_has_joe_chris(self):
3146
mobber_manager = MobberManager()
3247
mobber_manager.add_mobber("Joe")
3348
mobber_manager.add_mobber("Chris")
3449
result = ["Joe", "Chris"]
3550
self.assertEqual(mobber_manager.get_mobbers(), result)
3651

52+
def test_add_mobber_joe_chris_joe__remove_joe_has_joe_chris(self):
53+
mobber_manager = MobberManager()
54+
mobber_manager.add_mobber("Joe")
55+
mobber_manager.add_mobber("Chris")
56+
mobber_manager.add_mobber("Joe")
57+
mobber_manager.remove_mobber(2)
58+
result = ["Joe", "Chris"]
59+
self.assertEqual(mobber_manager.get_mobbers(), result)
60+
61+
def test_add_4_mobbers_move_up_middle(self):
62+
mobber_manager = MobberManager()
63+
mobber_manager.add_mobber("Joe")
64+
mobber_manager.add_mobber("Chris")
65+
mobber_manager.add_mobber("Will")
66+
mobber_manager.add_mobber("Eric")
67+
mobber_manager.move_mobber_up(2)
68+
result = ["Joe", "Will", "Chris", "Eric"]
69+
self.assertEqual(mobber_manager.get_mobbers(), result)
70+
71+
def test_add_4_mobbers_move_up_top(self):
72+
mobber_manager = MobberManager()
73+
mobber_manager.add_mobber("Joe")
74+
mobber_manager.add_mobber("Chris")
75+
mobber_manager.add_mobber("Will")
76+
mobber_manager.add_mobber("Eric")
77+
mobber_manager.move_mobber_up(0)
78+
result = ["Eric", "Chris", "Will", "Joe"]
79+
self.assertEqual(mobber_manager.get_mobbers(), result)
80+
81+
def test_add_4_mobbers_move_down_middle(self):
82+
mobber_manager = MobberManager()
83+
mobber_manager.add_mobber("Joe")
84+
mobber_manager.add_mobber("Chris")
85+
mobber_manager.add_mobber("Will")
86+
mobber_manager.add_mobber("Eric")
87+
mobber_manager.move_mobber_down(2)
88+
result = ["Joe", "Chris", "Eric", "Will"]
89+
self.assertEqual(mobber_manager.get_mobbers(), result)
90+
91+
def test_add_4_mobbers_move_down_bottom(self):
92+
mobber_manager = MobberManager()
93+
mobber_manager.add_mobber("Joe")
94+
mobber_manager.add_mobber("Chris")
95+
mobber_manager.add_mobber("Will")
96+
mobber_manager.add_mobber("Eric")
97+
mobber_manager.move_mobber_down(3)
98+
result = ["Eric", "Chris", "Will", "Joe"]
99+
self.assertEqual(mobber_manager.get_mobbers(), result)
100+
101+
def test_move_down_empty(self):
102+
mobber_manager = MobberManager()
103+
mobber_manager.move_mobber_down(0)
104+
result = []
105+
self.assertEqual(mobber_manager.get_mobbers(), result)
106+
107+
def test_move_up_empty(self):
108+
mobber_manager = MobberManager()
109+
mobber_manager.move_mobber_up(0)
110+
result = []
111+
self.assertEqual(mobber_manager.get_mobbers(), result)
112+
113+
def test_remove_empty(self):
114+
mobber_manager = MobberManager()
115+
mobber_manager.remove_mobber(0)
116+
result = []
117+
self.assertEqual(mobber_manager.get_mobbers(), result)
118+
119+
def test_subscribe_to_mobber_list_changes(self):
120+
mobber_manager = MobberManager()
121+
result = { "result" : "Contents:"}
122+
123+
def time_change_callback(mobber_list):
124+
result["result"] += " ["
125+
for mobber in mobber_list:
126+
result["result"] += mobber + ","
127+
result["result"] += "], "
128+
129+
mobber_manager.subscribe_to_mobber_list_change(time_change_callback)
130+
131+
mobber_manager.add_mobber("Joe")
132+
mobber_manager.add_mobber("Chris")
133+
mobber_manager.add_mobber("Sam")
134+
mobber_manager.remove_mobber(2)
135+
136+
self.assertEqual(result["result"], "Contents:[], [Joe,], [Joe,Chris,], [Joe,Chris,Sam,], [Joe,Chris,]")
137+
37138

38139
if __name__ == '__main__':
39140
unittest.main()

tests/infrastrcture/TestsTimeOptionsManager.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,22 +52,22 @@ def test_decrement_seconds_3_times_is_10_minutes_45_seconds(self):
5252

5353
def test_subscribe_to_time_changes(self):
5454
time_options_manager = TimeOptionsManager()
55-
result = { "result" : "time"}
55+
result = {"result": "time"}
5656

57-
def time_change_callback(time, minutes,seconds):
57+
def time_change_callback(time, minutes, seconds):
5858
result["result"] += " " + time
5959

6060
time_options_manager.subscribe_to_timechange(time_change_callback)
6161

6262
time_options_manager.increment_seconds()
6363

64-
self.assertEqual(result["result"], "time 10:15")
64+
self.assertEqual(result["result"], "time 10:00 10:15")
6565

6666
def test_subscribe_to_time_changes_complex(self):
6767
time_options_manager = TimeOptionsManager()
68-
result = { "result" : "time"}
68+
result = {"result": "time"}
6969

70-
def time_change_callback(time, minutes,seconds):
70+
def time_change_callback(time, minutes, seconds):
7171
result["result"] += " " + time
7272

7373
time_options_manager.subscribe_to_timechange(time_change_callback)
@@ -87,7 +87,8 @@ def time_change_callback(time, minutes,seconds):
8787
time_options_manager.increment_minutes()
8888
time_options_manager.increment_minutes()
8989

90-
self.assertEqual(result["result"], "time 10:15 10:30 10:45 10:30 10:15 10:00 10:45 09:45 08:45 09:45 10:45 11:45 12:45 13:45")
90+
self.assertEqual(result["result"],
91+
"time 10:00 10:15 10:30 10:45 10:30 10:15 10:00 10:45 09:45 08:45 09:45 10:45 11:45 12:45 13:45")
9192

9293

9394
if __name__ == '__main__':

0 commit comments

Comments
 (0)