43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
import sys
|
|
import os
|
|
import ctypes
|
|
|
|
ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
|
if ROOT not in sys.path:
|
|
sys.path.insert(0, ROOT)
|
|
|
|
from pymsc.lib1553.messages.a1_settings import MsgA1Payload
|
|
from pymsc.lib1553.messages.a2_operation_command import MsgA2Payload
|
|
from pymsc.lib1553.messages.a3_graphic_setting import MsgA3Payload
|
|
from pymsc.lib1553.messages.a4_nav_data_and_cursor import MsgA4Payload
|
|
from pymsc.lib1553.messages.a7_data_link_targets_1 import MsgA7Payload
|
|
from pymsc.lib1553.messages.a8_data_link_targets_2 import MsgA8Payload
|
|
from pymsc.lib1553.messages.b2_tws_targets_3_4_5 import MsgB2Payload
|
|
from pymsc.lib1553.messages.b4_spt_target import MsgB4Payload
|
|
from pymsc.lib1553.messages.tws_status_and_targets import TwsStatusAndTargets0102
|
|
|
|
|
|
def test_payload_sizes():
|
|
# Expected sizes (words*2) — these are based on current best-effort mappings
|
|
expected = {
|
|
'A1': 16, # bytes
|
|
'A2': 6,
|
|
'A3': 64,
|
|
'A4': 62,
|
|
'A7': 64,
|
|
'A8': 64,
|
|
'B2': 70,
|
|
'B4': 66,
|
|
'B1': 94,
|
|
}
|
|
|
|
assert ctypes.sizeof(MsgA1Payload) == expected['A1']
|
|
assert ctypes.sizeof(MsgA2Payload) == expected['A2']
|
|
assert ctypes.sizeof(MsgA3Payload) == expected['A3']
|
|
assert ctypes.sizeof(MsgA4Payload) == expected['A4']
|
|
assert ctypes.sizeof(MsgA7Payload) == expected['A7']
|
|
assert ctypes.sizeof(MsgA8Payload) == expected['A8']
|
|
assert ctypes.sizeof(MsgB2Payload) == expected['B2']
|
|
assert ctypes.sizeof(MsgB4Payload) == expected['B4']
|
|
assert ctypes.sizeof(TwsStatusAndTargets0102) == expected['B1']
|