11import os
22import unittest
3-
43from approvaltests import Approvals
54from approvaltests .TextDiffReporter import TextDiffReporter
6-
75from Infrastructure .MobberManager import MobberManager
86
7+ os .environ ["APPROVALS_TEXT_DIFF_TOOL" ] = "C:\\ Program Files\\ TortoiseSVN\\ bin\\ TortoiseMerge.exe"
8+
99
1010class TestsMobberManager (unittest .TestCase ):
1111 def test_empty_mobber_manager_has_no_items (self ):
@@ -20,58 +20,58 @@ def test_add_mobber_chris_has_chris(self):
2020
2121 def test_add_mobber_joe_chris_has_joe_chris (self ):
2222 mobber_manager = MobberManager ()
23- mobber_manager .add_mobber ("Smokey Joe" )
23+ mobber_manager .add_mobber ("Joe" )
2424 mobber_manager .add_mobber ("Chris" )
25- result = ["Smokey Joe" , "Chris" ]
25+ result = ["Joe" , "Chris" ]
2626 self .assertEqual (mobber_manager .get_mobbers (), result )
2727
2828 def test_add_mobber_joe_chris_joe__remove_joe_has_joe_chris (self ):
2929 mobber_manager = MobberManager ()
30- mobber_manager .add_mobber ("Smokey Joe" )
30+ mobber_manager .add_mobber ("Joe" )
3131 mobber_manager .add_mobber ("Chris" )
32- mobber_manager .add_mobber ("Smokey Joe" )
32+ mobber_manager .add_mobber ("Joe" )
3333 mobber_manager .remove_mobber (2 )
34- result = ["Smokey Joe" , "Chris" ]
34+ result = ["Joe" , "Chris" ]
3535 self .assertEqual (mobber_manager .get_mobbers (), result )
3636
3737 def test_add_4_mobbers_move_up_middle (self ):
3838 mobber_manager = MobberManager ()
39- mobber_manager .add_mobber ("Smokey Joe" )
39+ mobber_manager .add_mobber ("Joe" )
4040 mobber_manager .add_mobber ("Chris" )
4141 mobber_manager .add_mobber ("Will" )
4242 mobber_manager .add_mobber ("Eric" )
4343 mobber_manager .move_mobber_up (2 )
44- result = ["Smokey Joe" , "Will" , "Chris" , "Eric" ]
44+ result = ["Joe" , "Will" , "Chris" , "Eric" ]
4545 self .assertEqual (mobber_manager .get_mobbers (), result )
4646
4747 def test_add_4_mobbers_move_up_top (self ):
4848 mobber_manager = MobberManager ()
49- mobber_manager .add_mobber ("Smokey Joe" )
49+ mobber_manager .add_mobber ("Joe" )
5050 mobber_manager .add_mobber ("Chris" )
5151 mobber_manager .add_mobber ("Will" )
5252 mobber_manager .add_mobber ("Eric" )
5353 mobber_manager .move_mobber_up (0 )
54- result = ["Eric" , "Chris" , "Will" , "Smokey Joe" ]
54+ result = ["Eric" , "Chris" , "Will" , "Joe" ]
5555 self .assertEqual (mobber_manager .get_mobbers (), result )
5656
5757 def test_add_4_mobbers_move_down_middle (self ):
5858 mobber_manager = MobberManager ()
59- mobber_manager .add_mobber ("Smokey Joe" )
59+ mobber_manager .add_mobber ("Joe" )
6060 mobber_manager .add_mobber ("Chris" )
6161 mobber_manager .add_mobber ("Will" )
6262 mobber_manager .add_mobber ("Eric" )
6363 mobber_manager .move_mobber_down (2 )
64- result = ["Smokey Joe" , "Chris" , "Eric" , "Will" ]
64+ result = ["Joe" , "Chris" , "Eric" , "Will" ]
6565 self .assertEqual (mobber_manager .get_mobbers (), result )
6666
6767 def test_add_4_mobbers_move_down_bottom (self ):
6868 mobber_manager = MobberManager ()
69- mobber_manager .add_mobber ("Smokey Joe" )
69+ mobber_manager .add_mobber ("Joe" )
7070 mobber_manager .add_mobber ("Chris" )
7171 mobber_manager .add_mobber ("Will" )
7272 mobber_manager .add_mobber ("Eric" )
7373 mobber_manager .move_mobber_down (3 )
74- result = ["Eric" , "Chris" , "Will" , "Smokey Joe" ]
74+ result = ["Eric" , "Chris" , "Will" , "Joe" ]
7575 self .assertEqual (mobber_manager .get_mobbers (), result )
7676
7777 def test_move_down_empty (self ):
@@ -94,32 +94,46 @@ def test_remove_empty(self):
9494
9595 def test_clear (self ):
9696 mobber_manager = MobberManager ()
97- mobber_manager .add_mobber ("Smokey Joe" )
97+ mobber_manager .add_mobber ("Joe" )
9898 mobber_manager .add_mobber ("Chris" )
9999 mobber_manager .add_mobber ("Sam" )
100100 mobber_manager .clear ()
101101 result = []
102102 self .assertEqual (mobber_manager .get_mobbers (), result )
103103
104-
105104 def test_subscribe_to_mobber_list_changes (self ):
106105 mobber_manager = MobberManager ()
107- result = { "result" : "Mobbers in List for Each Change\n " , "increment" : 0 }
106+ result = {"result" : "Mobbers in List for Each Change\n " , "increment" : 0 }
108107
109- def time_change_callback (mobber_list ):
108+ def time_change_callback (mobber_list , driver_index , navigator_index ):
110109 result ["increment" ] += 1
111- result ["result" ] += "Action " + result ["increment" ].__str__ () + ":"
112- for mobber in mobber_list :
113- result ["result" ] += mobber + ","
110+ result ["result" ] += "Action " + result ["increment" ].__str__ () + ":"
111+ for mobber_index in range (0 , mobber_list .__len__ ()):
112+ result ["result" ] += mobber_list [mobber_index ]
113+ if mobber_index == driver_index :
114+ result ["result" ] += " (Driver)"
115+ if mobber_index == navigator_index :
116+ result ["result" ] += " (Navigator)"
117+ result ["result" ] += ", "
118+
114119 result ["result" ] += "\n "
115120
116121 mobber_manager .subscribe_to_mobber_list_change (time_change_callback )
117122
118- mobber_manager .add_mobber ("Smokey Joe" )
123+ mobber_manager .add_mobber ("Joe" )
119124 mobber_manager .add_mobber ("Chris" )
120125 mobber_manager .add_mobber ("Sam" )
126+ mobber_manager .add_mobber ("John" )
127+ mobber_manager .switch_navigator_driver ()
128+ mobber_manager .add_mobber ("Bill" )
129+ mobber_manager .switch_navigator_driver ()
130+ mobber_manager .switch_navigator_driver ()
131+ mobber_manager .switch_navigator_driver ()
132+ mobber_manager .switch_navigator_driver ()
133+ mobber_manager .switch_navigator_driver ()
121134 mobber_manager .remove_mobber (2 )
122135 mobber_manager .remove_mobber (0 )
136+ mobber_manager .switch_navigator_driver ()
123137 mobber_manager .add_mobber ("Seth" )
124138 mobber_manager .move_mobber_down (0 )
125139 mobber_manager .add_mobber ("Fredrick" )
@@ -130,6 +144,21 @@ def time_change_callback(mobber_list):
130144
131145 Approvals .verify (result ["result" ], TextDiffReporter ())
132146
147+ def test_navigator1_driver0_index (self ):
148+ mobber_manager = MobberManager ()
149+ mobber_manager .add_mobber ("Joe" )
150+ mobber_manager .add_mobber ("Chris" )
151+ result = "Navigator: " + str (mobber_manager .navigator_index ) + " Driver: " + str (mobber_manager .driver_index )
152+ self .assertEqual (result , "Navigator: 1 Driver: 0" )
153+
154+ def test_switch_navigator0_driver1_index (self ):
155+ mobber_manager = MobberManager ()
156+ mobber_manager .add_mobber ("Joe" )
157+ mobber_manager .add_mobber ("Chris" )
158+ mobber_manager .switch_navigator_driver ()
159+ result = "Navigator: " + str (mobber_manager .navigator_index ) + " Driver: " + str (mobber_manager .driver_index )
160+ self .assertEqual (result , "Navigator: 0 Driver: 1" )
161+
162+
133163if __name__ == '__main__' :
134- os .environ ["APPROVALS_TEXT_DIFF_TOOL" ] = "meld"
135164 unittest .main ()
0 commit comments