Coverage for hdl_registers/test/test_register_mode.py: 100%
14 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 11:11 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 11:11 +0000
1# --------------------------------------------------------------------------------------------------
2# Copyright (c) Lukas Vik. All rights reserved.
3#
4# This file is part of the hdl-registers project, an HDL register generator fast enough to run
5# in real time.
6# https://hdl-registers.com
7# https://github.com/hdl-registers/hdl-registers
8# --------------------------------------------------------------------------------------------------
10from hdl_registers.register_mode import (
11 HardwareAccessDirection,
12 RegisterMode,
13 SoftwareAccessDirection,
14)
17def test_repr():
18 assert (
19 repr(
20 RegisterMode(
21 shorthand="a",
22 name="b",
23 description="c",
24 software_can_read=False,
25 software_can_write=False,
26 hardware_has_up=False,
27 )
28 )
29 == "RegisterMode(shorthand=a)"
30 )
33def test_software_access_direction():
34 register_mode = RegisterMode(
35 shorthand="a",
36 name="b",
37 description="c",
38 software_can_read=True,
39 software_can_write=False,
40 hardware_has_up=False,
41 )
43 assert register_mode.is_software_accessible(SoftwareAccessDirection.READ)
44 assert not register_mode.is_software_accessible(SoftwareAccessDirection.WRITE)
47def test_hardware_access_direction():
48 register_mode = RegisterMode(
49 shorthand="a",
50 name="b",
51 description="c",
52 software_can_read=True,
53 software_can_write=False,
54 hardware_has_up=True,
55 )
57 assert register_mode.is_hardware_accessible(HardwareAccessDirection.UP)
58 assert not register_mode.is_software_accessible(HardwareAccessDirection.DOWN)
60 register_mode = RegisterMode(
61 shorthand="a",
62 name="b",
63 description="c",
64 software_can_read=True,
65 software_can_write=True,
66 hardware_has_up=False,
67 )
69 assert not register_mode.is_hardware_accessible(HardwareAccessDirection.UP)
70 assert register_mode.is_software_accessible(HardwareAccessDirection.DOWN)