Source code for tests.lesson_9_and_10_test

"""
Test suite for lesson 9 and 10.
"""

import unittest
from unittest.mock import MagicMock
from lessons.lesson_9_and_10.main import (
    VoltageError,
    analogOut,
    PIN_NUM
)


[docs] class Lesson9And10TestCase(unittest.TestCase): """ Test case for lesson 9 and 10. """
[docs] def test_analog_out_freq(self): """ Mocking and testing analogOut.freq() :return: """ f = 1000 analogOut.freq = MagicMock() analogOut.freq(f) analogOut.freq.return_value = f self.assertEqual(analogOut.freq(), f)
[docs] def test_pin_num_data_type(self): """ PIN_NUM data type should be int. :return: """ self.assertIsInstance(PIN_NUM, int)
[docs] def test_pin_num_value(self): """ PIN_NUM value should be 16. :return: """ self.assertEqual(PIN_NUM, 16)
[docs] def test_voltage_error(self): """ Verify VoltageError message. :return: """ user_input = 5 err = f"Invalid voltage value -> {user_input}." with self.assertRaises(VoltageError) as e: raise VoltageError(f"Invalid voltage value -> {user_input}.") self.assertEqual(str(e.exception), err)
if __name__ == '__main__': unittest.main()