Source code for tests.lesson_5_test
"""
Unit testing for lesson 5
"""
import unittest
from unittest.mock import MagicMock
from lessons.lesson_5.main import (
PIN_READ,
SLOPE,
X_MIN,
)
[docs]
class Lesson5TestCase(unittest.TestCase):
"""
Lesson 5 test case
"""
[docs]
def test_voltage_0(self):
"""
Reading Analog Voltage -> min value is 96
Should be converted to 0 volt
:return:
"""
PIN_READ.read_u16 = MagicMock()
PIN_READ.read_u16.return_value = 96
x = PIN_READ.read_u16() # pylint: disable=E1111
v = (SLOPE * x) - (SLOPE * X_MIN)
self.assertEqual(v, 0)
[docs]
def test_voltage_mid_value(self):
"""
Reading Analog Voltage -> mid-value
Should be converted to 1.65 volt
:return:
"""
PIN_READ.read_u16 = MagicMock()
PIN_READ.read_u16.return_value = (65535 - 96) / 2
x = PIN_READ.read_u16() # pylint: disable=E1111
v = (SLOPE * x) - (SLOPE * X_MIN)
self.assertEqual(round(v, 2), 1.65)
[docs]
def test_voltage_3_3(self):
"""
Reading Analog Voltage -> max value is 65535
Should be converted to 3.3 volt
:return:
"""
PIN_READ.read_u16 = MagicMock()
PIN_READ.read_u16.return_value = 65535
x = PIN_READ.read_u16() # pylint: disable=E1111
v = (SLOPE * x) - (SLOPE * X_MIN)
self.assertEqual(v, 3.3)
if __name__ == '__main__':
unittest.main()