From 6e24e151cf467dcb4a39eb8ae29cfbc6dee2ae9a Mon Sep 17 00:00:00 2001 From: Ubham16 Date: Tue, 9 Jul 2024 19:32:32 +0100 Subject: [PATCH] Add support for different file versions and update tests (#63) * Add support for different file versions and update tests * Add tests * Missing version Test --------- Co-authored-by: Robert Timms <43040151+rtimms@users.noreply.github.com> Co-authored-by: Ubham16 --- bpx/schema.py | 7 +++++++ tests/test_schema.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/bpx/schema.py b/bpx/schema.py index 13b9921..612d87b 100644 --- a/bpx/schema.py +++ b/bpx/schema.py @@ -60,6 +60,13 @@ class Header(ExtraBaseModel): description=('Model type ("SPM", "SPMe", "DFN")'), ) + version: str = Field( + None, + alias="Version", + example="0.1.1", + description="BPX file version", + ) + class Cell(ExtraBaseModel): """ diff --git a/tests/test_schema.py b/tests/test_schema.py index 588ff73..d765f6b 100644 --- a/tests/test_schema.py +++ b/tests/test_schema.py @@ -10,6 +10,7 @@ class TestSchema(unittest.TestCase): def setUp(self): self.base = { "Header": { + "Version": "0.1.1", "BPX": 1.0, "Model": "DFN", }, @@ -216,6 +217,12 @@ def test_bad_model(self): with self.assertRaises(ValidationError): parse_obj_as(BPX, test) + def test_missing_version(self): + test = copy.copy(self.base) + del test["Header"]["Version"] + parsed_obj = parse_obj_as(BPX, test) + self.assertIsNone(parsed_obj.header.version) + def test_bad_dfn(self): test = copy.copy(self.base_spm) test["Header"]["Model"] = "DFN"