def test_02_isExpectedAngle(self):
     for datum in ClockHandsTestCase.test_data:
         expected_result = datum['angle']
         actual_result = find_smallest_angle(datum['time'])
         self.assertEqual(actual_result,
                          expected_result,
                          f"Wrong angle returned: {actual_result}"
                          f"--should be {expected_result}.")
 def test_09_handles_hours_upper_bound(self):
     actual_result = find_smallest_angle("13:37")
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")
 def test_08_handles_hour_lower_bound(self):
     actual_result = find_smallest_angle("00:00")
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")
 def test_07_handles_numbers(self):
     actual_result = find_smallest_angle(2100)
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")
 def test_06_handles_empty_string(self):
     actual_result = find_smallest_angle("")
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")
 def test_05_handles_missing_hours(self):
     actual_result = find_smallest_angle(":59")
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")
 def test_03_handles_missing_colon(self):
     actual_result = find_smallest_angle("1230")
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")
 def test_01_isFloat(self):
     for datum in ClockHandsTestCase.test_data:
         result_type = type(find_smallest_angle(datum['time']))
         self.assertIs(result_type,
                       float,
                       f"Return type is {result_type}--should be float.")
 def test_0_handles_out_of_bounds_hours_and_minutes(self):
     actual_result = find_smallest_angle("-1:100")
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")
 def test_0_handles_minutes_upper_bound(self):
     actual_result = find_smallest_angle("6:61")
     self.assertIsNone(actual_result, f"Returned {actual_result}"
                                      f"--should be None")