36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import unittest
|
|
|
|
from pyasic.config import FanModeConfig
|
|
|
|
|
|
class TestFanConfig(unittest.TestCase):
|
|
def test_serialize_and_deserialize(self):
|
|
for fan_mode in FanModeConfig:
|
|
with self.subTest(
|
|
msg=f"Test serialization and deserialization of fan config",
|
|
fan_mode=fan_mode,
|
|
):
|
|
conf = fan_mode()
|
|
dict_conf = conf.as_dict()
|
|
self.assertEqual(conf, FanModeConfig.from_dict(dict_conf))
|
|
|
|
def test_bosminer_deserialize_and_serialize(self):
|
|
for fan_mode in FanModeConfig:
|
|
with self.subTest(
|
|
msg=f"Test serialization and deserialization of bosminer fan config",
|
|
fan_mode=fan_mode,
|
|
):
|
|
conf = fan_mode()
|
|
bos_conf = conf.as_bosminer()
|
|
self.assertEqual(conf, FanModeConfig.from_bosminer(bos_conf))
|
|
|
|
def test_am_modern_deserialize_and_serialize(self):
|
|
for fan_mode in FanModeConfig:
|
|
with self.subTest(
|
|
msg=f"Test serialization and deserialization of antminer modern fan config",
|
|
fan_mode=fan_mode,
|
|
):
|
|
conf = fan_mode()
|
|
am_conf = conf.as_am_modern()
|
|
self.assertEqual(conf, FanModeConfig.from_am_modern(am_conf))
|