"""Test suite for lesson 9 and 10."""importunittestfromunittest.mockimportMagicMockfromlessons.lesson_9_and_10.mainimport(VoltageError,analogOut,PIN_NUM)
[docs]classLesson9And10TestCase(unittest.TestCase):""" Test case for lesson 9 and 10. """
[docs]deftest_analog_out_freq(self):""" Mocking and testing analogOut.freq() :return: """f=1000analogOut.freq=MagicMock()analogOut.freq(f)analogOut.freq.return_value=fself.assertEqual(analogOut.freq(),f)
[docs]deftest_pin_num_data_type(self):""" PIN_NUM data type should be int. :return: """self.assertIsInstance(PIN_NUM,int)
[docs]deftest_pin_num_value(self):""" PIN_NUM value should be 16. :return: """self.assertEqual(PIN_NUM,16)
[docs]deftest_voltage_error(self):""" Verify VoltageError message. :return: """user_input=5err=f"Invalid voltage value -> {user_input}."withself.assertRaises(VoltageError)ase:raiseVoltageError(f"Invalid voltage value -> {user_input}.")self.assertEqual(str(e.exception),err)