+ def test_set_position(self):
+ wheel_3 = Wheel(wheel_iii_spec, wheel_iii_pegs, ring_setting=3)
+ wheel_3.set_position('a')
+ self.assertEqual(wheel_3.position, 24)
+ self.assertEqual(wheel_3.position_l, 'a')
+ self.assertEqual(wheel_3.peg_positions, [21])
+
+ wheel_3.set_position('z')
+ self.assertEqual(wheel_3.position, 23)
+ self.assertEqual(wheel_3.position_l, 'z')
+ self.assertEqual(wheel_3.peg_positions, [22])
+
+ wheel_3.set_position(26)
+ self.assertEqual(wheel_3.position, 23)
+ self.assertEqual(wheel_3.position_l, 'z')
+ self.assertEqual(wheel_3.peg_positions, [22])
+
+ wheel_3.set_position(27)
+ self.assertEqual(wheel_3.position, 24)
+ self.assertEqual(wheel_3.position_l, 'a')
+ self.assertEqual(wheel_3.peg_positions, [21])
+
+ wheel_3.set_position('f')
+ self.assertEqual(wheel_3.position, 3)
+ self.assertEqual(wheel_3.position_l, 'f')
+ self.assertEqual(wheel_3.peg_positions, [16])
+
+ wheel_3.set_position(6)
+ self.assertEqual(wheel_3.position, 3)
+ self.assertEqual(wheel_3.position_l, 'f')
+ self.assertEqual(wheel_3.peg_positions, [16])
+
+ wheel_3.advance()
+ self.assertEqual(wheel_3.position, 4)
+ self.assertEqual(wheel_3.position_l, 'g')
+ self.assertEqual(wheel_3.peg_positions, [15])
+
+ wheel_3.set_position(12)
+ self.assertEqual(wheel_3.position, 9)
+ self.assertEqual(wheel_3.position_l, 'l')
+ self.assertEqual(wheel_3.peg_positions, [10])
+
+ wheel_3.advance()
+ self.assertEqual(wheel_3.position, 10)
+ self.assertEqual(wheel_3.position_l, 'm')
+ self.assertEqual(wheel_3.peg_positions, [9])
+
+