Skip to content

Commit d2b6cb5

Browse files
committed
PhysicalDataType: always pass all parameters by name
IMO, using positional parameters for dataclasses is usually bad style and it would break as soon as we switch the minimum python version to 3.10 and make these classes `kw_only`... Signed-off-by: Andreas Lauser <andreas.lauser@mercedes-benz.com> Signed-off-by: Christian Hackenbeck <christian.hackenbeck@mercedes-benz.com> Signed-off-by: Katja Köhler <katja.koehler@mercedes-benz.com>
1 parent 09dbf18 commit d2b6cb5

File tree

8 files changed

+73
-40
lines changed

8 files changed

+73
-40
lines changed

examples/somersaultecu.py

Lines changed: 27 additions & 14 deletions
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

Lines changed: 2 additions & 1 deletion
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

Lines changed: 22 additions & 11 deletions
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

Lines changed: 3 additions & 3 deletions
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

Lines changed: 6 additions & 3 deletions
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

Lines changed: 8 additions & 4 deletions
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

Lines changed: 3 additions & 3 deletions
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)