Skip to content

Commit 1445384

Browse files
authored
Merge pull request #385 from andlaus/explicit_base_data_type
`PhysicalDataType`: always pass all parameters by name
2 parents 09dbf18 + d2b6cb5 commit 1445384

8 files changed

+73
-40
lines changed

examples/somersaultecu.py

+27-14
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,8 @@ class SomersaultSID(IntEnum):
503503
description=None,
504504
admin_data=None,
505505
diag_coded_type=somersault_diagcodedtypes["uint8"],
506-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
506+
physical_type=PhysicalType(
507+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
507508
compu_method=somersault_compumethods["uint_passthrough"],
508509
unit_ref=None,
509510
sdgs=[],
@@ -519,7 +520,8 @@ class SomersaultSID(IntEnum):
519520
description=None,
520521
admin_data=None,
521522
diag_coded_type=somersault_diagcodedtypes["uint8"],
522-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
523+
physical_type=PhysicalType(
524+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
523525
compu_method=somersault_compumethods["uint_passthrough"],
524526
unit_ref=None,
525527
sdgs=[],
@@ -535,7 +537,8 @@ class SomersaultSID(IntEnum):
535537
description=None,
536538
admin_data=None,
537539
diag_coded_type=somersault_diagcodedtypes["uint8"],
538-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
540+
physical_type=PhysicalType(
541+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
539542
compu_method=somersault_compumethods["uint_passthrough"],
540543
unit_ref=None,
541544
sdgs=[],
@@ -551,7 +554,8 @@ class SomersaultSID(IntEnum):
551554
description=None,
552555
admin_data=None,
553556
diag_coded_type=somersault_diagcodedtypes["uint8"],
554-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
557+
physical_type=PhysicalType(
558+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
555559
compu_method=somersault_compumethods["uint_passthrough"],
556560
unit_ref=None,
557561
sdgs=[],
@@ -567,7 +571,8 @@ class SomersaultSID(IntEnum):
567571
description=None,
568572
admin_data=None,
569573
diag_coded_type=somersault_diagcodedtypes["uint8"],
570-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
574+
physical_type=PhysicalType(
575+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
571576
compu_method=somersault_compumethods["uint_passthrough"],
572577
unit_ref=OdxLinkRef.from_id(somersault_units["second"].odx_id),
573578
sdgs=[],
@@ -583,7 +588,8 @@ class SomersaultSID(IntEnum):
583588
description=None,
584589
admin_data=None,
585590
diag_coded_type=somersault_diagcodedtypes["uint8"],
586-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
591+
physical_type=PhysicalType(
592+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
587593
compu_method=somersault_compumethods["uint_passthrough"],
588594
unit_ref=OdxLinkRef.from_id(somersault_units["celsius"].odx_id),
589595
sdgs=[],
@@ -599,7 +605,8 @@ class SomersaultSID(IntEnum):
599605
description=None,
600606
admin_data=None,
601607
diag_coded_type=somersault_diagcodedtypes["uint8"],
602-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
608+
physical_type=PhysicalType(
609+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
603610
compu_method=somersault_compumethods["uint_passthrough"],
604611
unit_ref=None,
605612
sdgs=[],
@@ -616,7 +623,7 @@ class SomersaultSID(IntEnum):
616623
admin_data=None,
617624
diag_coded_type=somersault_diagcodedtypes["uint8"],
618625
physical_type=PhysicalType(
619-
DataType.A_UNICODE2STRING, display_radix=None, precision=None),
626+
base_data_type=DataType.A_UNICODE2STRING, display_radix=None, precision=None),
620627
compu_method=somersault_compumethods["boolean"],
621628
unit_ref=None,
622629
sdgs=[],
@@ -632,7 +639,8 @@ class SomersaultSID(IntEnum):
632639
description=None,
633640
admin_data=None,
634641
diag_coded_type=somersault_diagcodedtypes["uint8"],
635-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
642+
physical_type=PhysicalType(
643+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
636644
compu_method=somersault_compumethods["uint_passthrough"],
637645
unit_ref=None,
638646
sdgs=[],
@@ -648,7 +656,8 @@ class SomersaultSID(IntEnum):
648656
description=None,
649657
admin_data=None,
650658
diag_coded_type=somersault_diagcodedtypes["uint16"],
651-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
659+
physical_type=PhysicalType(
660+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
652661
compu_method=somersault_compumethods["uint_passthrough"],
653662
unit_ref=None,
654663
sdgs=[],
@@ -664,7 +673,8 @@ class SomersaultSID(IntEnum):
664673
description=None,
665674
admin_data=None,
666675
diag_coded_type=somersault_diagcodedtypes["float32"],
667-
physical_type=PhysicalType(DataType.A_FLOAT32, display_radix=None, precision=None),
676+
physical_type=PhysicalType(
677+
base_data_type=DataType.A_FLOAT32, display_radix=None, precision=None),
668678
compu_method=somersault_compumethods["float_passthrough"],
669679
unit_ref=None,
670680
sdgs=[],
@@ -680,7 +690,8 @@ class SomersaultSID(IntEnum):
680690
description=None,
681691
admin_data=None,
682692
diag_coded_type=somersault_diagcodedtypes["int8"],
683-
physical_type=PhysicalType(DataType.A_INT32, display_radix=None, precision=None),
693+
physical_type=PhysicalType(
694+
base_data_type=DataType.A_INT32, display_radix=None, precision=None),
684695
compu_method=somersault_compumethods["int_passthrough"],
685696
unit_ref=None,
686697
sdgs=[],
@@ -696,7 +707,8 @@ class SomersaultSID(IntEnum):
696707
description=None,
697708
admin_data=None,
698709
diag_coded_type=somersault_diagcodedtypes["uint8"],
699-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
710+
physical_type=PhysicalType(
711+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
700712
compu_method=somersault_compumethods["uint_passthrough"],
701713
unit_ref=None,
702714
sdgs=[],
@@ -712,7 +724,8 @@ class SomersaultSID(IntEnum):
712724
description=None,
713725
admin_data=None,
714726
diag_coded_type=somersault_diagcodedtypes["float32"],
715-
physical_type=PhysicalType(DataType.A_FLOAT32, display_radix=None, precision=None),
727+
physical_type=PhysicalType(
728+
base_data_type=DataType.A_FLOAT32, display_radix=None, precision=None),
716729
compu_method=somersault_compumethods["float_passthrough"],
717730
unit_ref=None,
718731
sdgs=[],

odxtools/physicaltype.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,5 @@ def from_et(et_element: ElementTree.Element, doc_frags: List[OdxDocFragment]) ->
7474
precision_str = et_element.findtext("PRECISION")
7575
precision = int(precision_str) if precision_str is not None else None
7676

77-
return PhysicalType(base_data_type, display_radix=display_radix, precision=precision)
77+
return PhysicalType(
78+
base_data_type=base_data_type, display_radix=display_radix, precision=precision)

tests/test_decoding.py

+22-11
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,8 @@ def test_decode_nrc_const(self) -> None:
405405
description=None,
406406
admin_data=None,
407407
diag_coded_type=diag_coded_type,
408-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
408+
physical_type=PhysicalType(
409+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
409410
compu_method=IdenticalCompuMethod(
410411
category=CompuCategory.IDENTICAL,
411412
compu_internal_to_phys=None,
@@ -785,7 +786,8 @@ def test_decode_request_structure(self) -> None:
785786
description=None,
786787
admin_data=None,
787788
diag_coded_type=diag_coded_type_4,
788-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
789+
physical_type=PhysicalType(
790+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
789791
compu_method=compu_method,
790792
unit_ref=None,
791793
sdgs=[],
@@ -988,7 +990,8 @@ def test_static_field_coding(self) -> None:
988990
description=None,
989991
admin_data=None,
990992
diag_coded_type=diag_coded_type,
991-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
993+
physical_type=PhysicalType(
994+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
992995
compu_method=compu_method,
993996
unit_ref=None,
994997
sdgs=[],
@@ -1244,7 +1247,8 @@ def test_dynamic_endmarker_field_coding(self) -> None:
12441247
description=None,
12451248
admin_data=None,
12461249
diag_coded_type=diag_coded_type_4,
1247-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
1250+
physical_type=PhysicalType(
1251+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
12481252
compu_method=compu_method,
12491253
unit_ref=None,
12501254
sdgs=[],
@@ -1259,7 +1263,8 @@ def test_dynamic_endmarker_field_coding(self) -> None:
12591263
description=None,
12601264
admin_data=None,
12611265
diag_coded_type=diag_coded_endmarker_type,
1262-
physical_type=PhysicalType(DataType.A_BYTEFIELD, display_radix=None, precision=None),
1266+
physical_type=PhysicalType(
1267+
base_data_type=DataType.A_BYTEFIELD, display_radix=None, precision=None),
12631268
compu_method=compu_method_bytefield,
12641269
unit_ref=None,
12651270
sdgs=[],
@@ -1625,7 +1630,8 @@ def test_dynamic_length_field_coding(self) -> None:
16251630
description=None,
16261631
admin_data=None,
16271632
diag_coded_type=diag_coded_type_4,
1628-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
1633+
physical_type=PhysicalType(
1634+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
16291635
compu_method=compu_method,
16301636
unit_ref=None,
16311637
sdgs=[],
@@ -1870,7 +1876,8 @@ def test_decode_request_end_of_pdu_field(self) -> None:
18701876
description=None,
18711877
admin_data=None,
18721878
diag_coded_type=diag_coded_type_4,
1873-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
1879+
physical_type=PhysicalType(
1880+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
18741881
compu_method=compu_method,
18751882
unit_ref=None,
18761883
sdgs=[],
@@ -2113,7 +2120,8 @@ def test_decode_request_linear_compu_method(self) -> None:
21132120
description=None,
21142121
admin_data=None,
21152122
diag_coded_type=diag_coded_type,
2116-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
2123+
physical_type=PhysicalType(
2124+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
21172125
compu_method=compu_method,
21182126
unit_ref=None,
21192127
sdgs=[],
@@ -2507,7 +2515,8 @@ def test_code_dtc(self) -> None:
25072515
admin_data=None,
25082516
diag_coded_type=diag_coded_type,
25092517
linked_dtc_dops_raw=[],
2510-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
2518+
physical_type=PhysicalType(
2519+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
25112520
compu_method=compu_method,
25122521
dtcs_raw=[dtc1, dtc2],
25132522
sdgs=[],
@@ -2585,7 +2594,8 @@ def setUp(self) -> None:
25852594
base_type_encoding=None,
25862595
is_highlow_byte_order_raw=None,
25872596
),
2588-
physical_type=PhysicalType(DataType.A_BYTEFIELD, display_radix=None, precision=None),
2597+
physical_type=PhysicalType(
2598+
base_data_type=DataType.A_BYTEFIELD, display_radix=None, precision=None),
25892599
compu_method=IdenticalCompuMethod(
25902600
category=CompuCategory.IDENTICAL,
25912601
compu_internal_to_phys=None,
@@ -2745,7 +2755,8 @@ def test_physical_constant_parameter(self) -> None:
27452755
description=None,
27462756
admin_data=None,
27472757
diag_coded_type=diag_coded_type,
2748-
physical_type=PhysicalType(DataType.A_INT32, display_radix=None, precision=None),
2758+
physical_type=PhysicalType(
2759+
base_data_type=DataType.A_INT32, display_radix=None, precision=None),
27492760
compu_method=LinearCompuMethod(
27502761
category=CompuCategory.LINEAR,
27512762
compu_internal_to_phys=CompuInternalToPhys(

tests/test_diag_coded_types.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def test_end_to_end(self) -> None:
210210
admin_data=None,
211211
diag_coded_type=diagcodedtypes["certificateClient"],
212212
physical_type=PhysicalType(
213-
DataType.A_BYTEFIELD, display_radix=None, precision=None),
213+
base_data_type=DataType.A_BYTEFIELD, display_radix=None, precision=None),
214214
compu_method=compumethods["bytes_passthrough"],
215215
unit_ref=None,
216216
sdgs=[],
@@ -513,7 +513,7 @@ def test_end_to_end(self) -> None:
513513
admin_data=None,
514514
diag_coded_type=diagcodedtypes["uint8"],
515515
physical_type=PhysicalType(
516-
DataType.A_UINT32, display_radix=None, precision=None),
516+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
517517
compu_method=compumethods["multiply_with_8"],
518518
unit_ref=None,
519519
sdgs=[],
@@ -530,7 +530,7 @@ def test_end_to_end(self) -> None:
530530
admin_data=None,
531531
diag_coded_type=diagcodedtypes["length_key_id_to_lengthOfCertificateClient"],
532532
physical_type=PhysicalType(
533-
DataType.A_UINT32, display_radix=None, precision=None),
533+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
534534
compu_method=compumethods["uint_passthrough"],
535535
unit_ref=None,
536536
sdgs=[],

tests/test_diag_data_dictionary_spec.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ def test_initialization(self) -> None:
5959
description=None,
6060
admin_data=None,
6161
diag_coded_type=uint8_dct,
62-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
62+
physical_type=PhysicalType(
63+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
6364
linked_dtc_dops_raw=[],
6465
compu_method=ident_compu_method,
6566
dtcs_raw=[
@@ -89,7 +90,8 @@ def test_initialization(self) -> None:
8990
description=None,
9091
admin_data=None,
9192
diag_coded_type=uint8_dct,
92-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
93+
physical_type=PhysicalType(
94+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
9395
compu_method=ident_compu_method,
9496
unit_ref=None,
9597
sdgs=[],
@@ -105,7 +107,8 @@ def test_initialization(self) -> None:
105107
description=None,
106108
admin_data=None,
107109
diag_coded_type=uint8_dct,
108-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
110+
physical_type=PhysicalType(
111+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
109112
compu_method=ident_compu_method,
110113
unit_ref=None,
111114
sdgs=[],

tests/test_encoding.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,8 @@ def test_encode_linear(self) -> None:
524524
description=None,
525525
admin_data=None,
526526
diag_coded_type=diag_coded_type,
527-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
527+
physical_type=PhysicalType(
528+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
528529
compu_method=compu_method,
529530
unit_ref=None,
530531
sdgs=[],
@@ -586,7 +587,8 @@ def test_encode_nrc_const(self) -> None:
586587
description=None,
587588
admin_data=None,
588589
diag_coded_type=diag_coded_type,
589-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
590+
physical_type=PhysicalType(
591+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
590592
compu_method=IdenticalCompuMethod(
591593
category=CompuCategory.IDENTICAL,
592594
compu_internal_to_phys=None,
@@ -776,7 +778,8 @@ def test_encode_system_parameter(self) -> None:
776778
description=None,
777779
admin_data=None,
778780
diag_coded_type=diag_coded_type,
779-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
781+
physical_type=PhysicalType(
782+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
780783
compu_method=IdenticalCompuMethod(
781784
category=CompuCategory.IDENTICAL,
782785
compu_internal_to_phys=None,
@@ -844,7 +847,8 @@ def test_encode_env_data_desc(self) -> None:
844847
description=None,
845848
admin_data=None,
846849
diag_coded_type=dct,
847-
physical_type=PhysicalType(DataType.A_UINT32, display_radix=None, precision=None),
850+
physical_type=PhysicalType(
851+
base_data_type=DataType.A_UINT32, display_radix=None, precision=None),
848852
compu_method=IdenticalCompuMethod(
849853
category=CompuCategory.IDENTICAL,
850854
compu_internal_to_phys=None,

tests/test_singleecujob.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class Context(NamedTuple):
9494
is_highlow_byte_order_raw=None,
9595
),
9696
physical_type=PhysicalType(
97-
DataType.A_UNICODE2STRING, display_radix=None, precision=None),
97+
base_data_type=DataType.A_UNICODE2STRING, display_radix=None, precision=None),
9898
compu_method=TexttableCompuMethod(
9999
category=CompuCategory.TEXTTABLE,
100100
compu_phys_to_internal=None,
@@ -153,7 +153,7 @@ class Context(NamedTuple):
153153
is_highlow_byte_order_raw=None,
154154
),
155155
physical_type=PhysicalType(
156-
DataType.A_UNICODE2STRING, display_radix=None, precision=None),
156+
base_data_type=DataType.A_UNICODE2STRING, display_radix=None, precision=None),
157157
compu_method=LinearCompuMethod(
158158
category=CompuCategory.LINEAR,
159159
compu_internal_to_phys=CompuInternalToPhys(
@@ -199,7 +199,7 @@ class Context(NamedTuple):
199199
is_highlow_byte_order_raw=None,
200200
),
201201
physical_type=PhysicalType(
202-
DataType.A_UNICODE2STRING, display_radix=None, precision=None),
202+
base_data_type=DataType.A_UNICODE2STRING, display_radix=None, precision=None),
203203
compu_method=LinearCompuMethod(
204204
category=CompuCategory.LINEAR,
205205
compu_internal_to_phys=CompuInternalToPhys(

0 commit comments

Comments
 (0)