File: alias_array_test.py

package info (click to toggle)
pyvlx 0.2.26-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 4,464 kB
  • sloc: python: 7,901; makefile: 39; sh: 5
file content (46 lines) | stat: -rw-r--r-- 1,782 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
"""Unit tests for AliasArray module."""
import unittest

from pyvlx.api.frames.alias_array import AliasArray
from pyvlx.exception import PyVLXException


class TestAliasArray(unittest.TestCase):
    """Test class for AliasArray."""

    # pylint: disable=too-many-public-methods,invalid-name

    def test_empty(self) -> None:
        """Test empty alias array."""
        alias_array = AliasArray()
        self.assertEqual(bytes(alias_array), bytes(21))
        self.assertEqual(str(alias_array), "")

    def test_empty_raw(self) -> None:
        """Test empty alias array initialized from raw."""
        alias_array = AliasArray(raw=bytes(21))
        self.assertEqual(bytes(alias_array), bytes(21))
        self.assertEqual(str(alias_array), "")

    def test_from_one_element(self) -> None:
        """Test alias_array with one element."""
        alias_array = AliasArray(raw=b"\x01abcd" + bytes(16))
        self.assertEqual(bytes(alias_array), b"\x01abcd" + bytes(16))
        self.assertEqual(str(alias_array), "6162=6364")

    def test_from_four_elements(self) -> None:
        """Test alias_array with one element."""
        alias_array = AliasArray(raw=b"\x05abcd1234efgh5678ijkl")
        self.assertEqual(bytes(alias_array), b"\x05abcd1234efgh5678ijkl")
        self.assertEqual(
            str(alias_array), "6162=6364, 3132=3334, 6566=6768, 3536=3738, 696a=6b6c"
        )

    def test_deserialize_failure(self) -> None:
        """Test error while deserializing."""
        with self.assertRaises(PyVLXException):
            AliasArray(raw="string")  # type: ignore[arg-type]
        with self.assertRaises(PyVLXException):
            AliasArray(raw=bytes(20))
        with self.assertRaises(PyVLXException):
            AliasArray(raw=b"\x06" + bytes(20))