mirror of
https://github.com/naruxde/revpimodio2.git
synced 2025-11-08 22:03:53 +01:00
test: Add RevPi Flat tests
This commit is contained in:
94
tests/flat/test_flat.py
Normal file
94
tests/flat/test_flat.py
Normal file
@@ -0,0 +1,94 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Test RevPi Flat devices."""
|
||||
__author__ = "Sven Sager"
|
||||
__copyright__ = "Copyright (C) 2024 Sven Sager"
|
||||
__license__ = "GPLv2"
|
||||
|
||||
from os.path import dirname
|
||||
|
||||
import revpimodio2
|
||||
from tests import TestRevPiModIO
|
||||
|
||||
|
||||
class TestFlat(TestRevPiModIO):
|
||||
|
||||
data_dir = dirname(__file__)
|
||||
|
||||
def test_flat(self):
|
||||
rpi = self.modio(configrsc="config_flat.rsc")
|
||||
rpi.setdefaultvalues()
|
||||
|
||||
self.assertIsInstance(rpi.core, revpimodio2.device.Flat)
|
||||
|
||||
# FLAT LEDs prüfen
|
||||
rpi.core.A1 = revpimodio2.OFF
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x00\x00")
|
||||
self.assertEqual(rpi.core.A1, 0)
|
||||
rpi.core.A1 = revpimodio2.GREEN
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x01\x00")
|
||||
self.assertEqual(rpi.core.A1, 1)
|
||||
rpi.core.A1 = revpimodio2.RED
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x02\x00")
|
||||
self.assertEqual(rpi.core.A1, 2)
|
||||
with self.assertRaises(ValueError):
|
||||
rpi.core.A1 = 5
|
||||
|
||||
rpi.core.A2 = revpimodio2.OFF
|
||||
self.assertEqual(rpi.core.A2, 0)
|
||||
rpi.core.A2 = revpimodio2.GREEN
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x06\x00")
|
||||
self.assertEqual(rpi.core.A2, 1)
|
||||
rpi.core.A2 = revpimodio2.RED
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x0a\x00")
|
||||
self.assertEqual(rpi.core.A2, 2)
|
||||
with self.assertRaises(ValueError):
|
||||
rpi.core.A2 = 5
|
||||
|
||||
rpi.core.A3 = revpimodio2.OFF
|
||||
self.assertEqual(rpi.core.A3, 0)
|
||||
rpi.core.A3 = revpimodio2.GREEN
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x1a\x00")
|
||||
self.assertEqual(rpi.core.A3, 1)
|
||||
rpi.core.A3 = revpimodio2.RED
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x2a\x00")
|
||||
self.assertEqual(rpi.core.A3, 2)
|
||||
with self.assertRaises(ValueError):
|
||||
rpi.core.A3 = 5
|
||||
|
||||
rpi.core.A4 = revpimodio2.OFF
|
||||
self.assertEqual(rpi.core.A4, 0)
|
||||
rpi.core.A4 = revpimodio2.GREEN
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\x6a\x00")
|
||||
self.assertEqual(rpi.core.A4, 1)
|
||||
rpi.core.A4 = revpimodio2.RED
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\xaa\x00")
|
||||
self.assertEqual(rpi.core.A4, 2)
|
||||
with self.assertRaises(ValueError):
|
||||
rpi.core.A4 = 5
|
||||
|
||||
rpi.core.A5 = revpimodio2.OFF
|
||||
self.assertEqual(rpi.core.A5, 0)
|
||||
rpi.core.A5 = revpimodio2.GREEN
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\xaa\x01")
|
||||
self.assertEqual(rpi.core.A5, 1)
|
||||
rpi.core.A5 = revpimodio2.RED
|
||||
self.assertEqual(rpi.io.RevPiLED.get_value(), b"\xaa\x02")
|
||||
self.assertEqual(rpi.core.A5, 2)
|
||||
with self.assertRaises(ValueError):
|
||||
rpi.core.A5 = 5
|
||||
|
||||
# Spezielle Werte aufrufen
|
||||
self.assertIsInstance(rpi.core.temperature, int)
|
||||
self.assertIsInstance(rpi.core.frequency, int)
|
||||
rpi.core.wd_toggle()
|
||||
|
||||
# Directzuweisung nicht erlaubt
|
||||
with self.assertRaisesRegex(AttributeError, r"direct assignment is not supported"):
|
||||
rpi.core.a1green = True
|
||||
|
||||
rpi.exit()
|
||||
del rpi
|
||||
|
||||
# Bit piCtory config
|
||||
rpi = self.modio(configrsc="config_flat_bits.rsc")
|
||||
del rpi
|
||||
Reference in New Issue
Block a user