49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
"""Module to test solaxx3."""
|
|
|
|
import sys
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
from src.solaxx3 import solaxx3
|
|
from tests.final_result import (
|
|
altered_holding_register_values,
|
|
altered_input_register_values,
|
|
)
|
|
|
|
import_path = Path().resolve() / "tests" / "mock_packages"
|
|
if str(import_path) not in sys.path:
|
|
sys.path.append(str(import_path))
|
|
|
|
|
|
class Solaxx3Tests(unittest.TestCase):
|
|
"""Tests for SolaxX3."""
|
|
|
|
def test_connection(self):
|
|
"""Test if SolaxX3 connected."""
|
|
|
|
s = solaxx3.SolaxX3()
|
|
s.connect()
|
|
self.assertEqual(s.connected, True)
|
|
|
|
def test_format_registers(self):
|
|
"""Test if the module correctly formats raw register values."""
|
|
|
|
result = []
|
|
s = solaxx3.SolaxX3()
|
|
s.read_all_registers()
|
|
|
|
regs = solaxx3.SolaxRegistersInfo().list_register_names()
|
|
for reg in regs:
|
|
result.append(s.read(reg)[0])
|
|
|
|
self.assertEqual(
|
|
result, altered_input_register_values + altered_holding_register_values
|
|
)
|
|
|
|
def test_are_registers_identical(self):
|
|
"""Test if holding registers' values are not equal to input registers' values."""
|
|
|
|
s = solaxx3.SolaxX3()
|
|
s.read_all_registers()
|
|
self.assertFalse(s._holding_registers_values == s._input_registers_values)
|