From 6df51cb7d14d8e29d5aad0883d748f38f53115f1 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Tue, 29 Jun 2021 08:41:40 +0200 Subject: Renamed '_?[nN]ame: str' to '_?[iI]dentifier: str'. --- testsuite/pyunit/dom/Literals.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'testsuite/pyunit/dom/Literals.py') diff --git a/testsuite/pyunit/dom/Literals.py b/testsuite/pyunit/dom/Literals.py index a69481ef4..905ea7749 100644 --- a/testsuite/pyunit/dom/Literals.py +++ b/testsuite/pyunit/dom/Literals.py @@ -74,12 +74,12 @@ class Literals(TestCase): self.assertEqual(len(design.Documents[0].Packages), 1) package = design.Documents[0].Packages[0] - self.assertTrue(package.Name == "package_1") + self.assertTrue(package.Identifier == "package_1") self.assertEqual(len(package.DeclaredItems), len(expected)) for i in range(len(expected)): item: Constant = package.DeclaredItems[i] self.assertTrue(isinstance(item, Constant)) - self.assertTrue(item.Name == "c{}".format(i)) + self.assertTrue(item.Identifier == "c{}".format(i)) self.assertTrue(str(item.SubType.SymbolName) == "integer") self.assertTrue(isinstance(item.DefaultExpression, IntegerLiteral)) self.assertTrue(item.DefaultExpression.Value == expected[i]) -- cgit v1.2.3 From 6acaf4b6baba21f8eca7520f518c62ffd75abd04 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Tue, 29 Jun 2021 19:10:33 +0200 Subject: Minor changes. --- testsuite/pyunit/dom/Literals.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'testsuite/pyunit/dom/Literals.py') diff --git a/testsuite/pyunit/dom/Literals.py b/testsuite/pyunit/dom/Literals.py index 905ea7749..9dc40d4cb 100644 --- a/testsuite/pyunit/dom/Literals.py +++ b/testsuite/pyunit/dom/Literals.py @@ -78,8 +78,8 @@ class Literals(TestCase): self.assertEqual(len(package.DeclaredItems), len(expected)) for i in range(len(expected)): item: Constant = package.DeclaredItems[i] - self.assertTrue(isinstance(item, Constant)) + self.assertIsInstance(item, Constant) self.assertTrue(item.Identifier == "c{}".format(i)) self.assertTrue(str(item.SubType.SymbolName) == "integer") - self.assertTrue(isinstance(item.DefaultExpression, IntegerLiteral)) + self.assertIsInstance(item.DefaultExpression, IntegerLiteral) self.assertTrue(item.DefaultExpression.Value == expected[i]) -- cgit v1.2.3 From 8a815d48790db46652034b6a72a581b0c9f40f40 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Wed, 30 Jun 2021 01:38:41 +0200 Subject: Improved test code. --- testsuite/pyunit/dom/Literals.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'testsuite/pyunit/dom/Literals.py') diff --git a/testsuite/pyunit/dom/Literals.py b/testsuite/pyunit/dom/Literals.py index 9dc40d4cb..f54f7484b 100644 --- a/testsuite/pyunit/dom/Literals.py +++ b/testsuite/pyunit/dom/Literals.py @@ -74,12 +74,12 @@ class Literals(TestCase): self.assertEqual(len(design.Documents[0].Packages), 1) package = design.Documents[0].Packages[0] - self.assertTrue(package.Identifier == "package_1") + self.assertEqual(package.Identifier, "package_1") self.assertEqual(len(package.DeclaredItems), len(expected)) for i in range(len(expected)): item: Constant = package.DeclaredItems[i] self.assertIsInstance(item, Constant) - self.assertTrue(item.Identifier == "c{}".format(i)) - self.assertTrue(str(item.SubType.SymbolName) == "integer") + self.assertEqual(item.Identifier, "c{}".format(i)) + self.assertEqual(str(item.SubType.SymbolName), "integer") self.assertIsInstance(item.DefaultExpression, IntegerLiteral) - self.assertTrue(item.DefaultExpression.Value == expected[i]) + self.assertEqual(item.DefaultExpression.Value, expected[i]) -- cgit v1.2.3 From 03f5a6cd6f88aef6c6580f471905403056313f05 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Wed, 30 Jun 2021 12:20:54 +0200 Subject: Exchanged sides in asserts to the understanding of pytests actual vs. expected order. --- testsuite/pyunit/dom/Literals.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'testsuite/pyunit/dom/Literals.py') diff --git a/testsuite/pyunit/dom/Literals.py b/testsuite/pyunit/dom/Literals.py index f54f7484b..60938c52e 100644 --- a/testsuite/pyunit/dom/Literals.py +++ b/testsuite/pyunit/dom/Literals.py @@ -72,14 +72,14 @@ class Literals(TestCase): document = Document(self._filename) design.Documents.append(document) - self.assertEqual(len(design.Documents[0].Packages), 1) + self.assertEqual(1, len(design.Documents[0].Packages)) package = design.Documents[0].Packages[0] - self.assertEqual(package.Identifier, "package_1") - self.assertEqual(len(package.DeclaredItems), len(expected)) + self.assertEqual("package_1", package.Identifier) + self.assertEqual(len(expected), len(package.DeclaredItems)) for i in range(len(expected)): item: Constant = package.DeclaredItems[i] self.assertIsInstance(item, Constant) - self.assertEqual(item.Identifier, "c{}".format(i)) - self.assertEqual(str(item.SubType.SymbolName), "integer") + self.assertEqual("c{}".format(i), item.Identifier) + self.assertEqual("integer", str(item.Subtype.SymbolName)) self.assertIsInstance(item.DefaultExpression, IntegerLiteral) - self.assertEqual(item.DefaultExpression.Value, expected[i]) + self.assertEqual(expected[i], item.DefaultExpression.Value) -- cgit v1.2.3 From af4bbc71c723c2602a1b4f82e698c005b1fb64f6 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Wed, 30 Jun 2021 20:56:30 +0200 Subject: Simplified test code for literals. --- testsuite/pyunit/dom/Literals.py | 59 +++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 28 deletions(-) (limited to 'testsuite/pyunit/dom/Literals.py') diff --git a/testsuite/pyunit/dom/Literals.py b/testsuite/pyunit/dom/Literals.py index 60938c52e..418a1b76d 100644 --- a/testsuite/pyunit/dom/Literals.py +++ b/testsuite/pyunit/dom/Literals.py @@ -34,6 +34,10 @@ from pathlib import Path from textwrap import dedent from unittest import TestCase +from pyVHDLModel.VHDLModel import Expression + +from pyGHDL.dom.DesignUnit import Package + from pyGHDL.dom.NonStandard import Design, Document from pyGHDL.dom.Object import Constant from pyGHDL.dom.Literal import IntegerLiteral @@ -47,39 +51,38 @@ if __name__ == "__main__": class Literals(TestCase): _root = Path(__file__).resolve().parent.parent - - def test_IntegerLiteral(self): - self._filename: Path = self._root / "{className}.vhdl".format( - className=self.__class__.__name__ - ) - - sourceCode = dedent( + _design = Design() + _packageTemplate = dedent( """\ package package_1 is - constant c0 : integer := 0; - constant c1 : integer := 1; - constant c2 : integer := 1024; - constant c3 : integer := 1048576; + {code} end package; """ ) - expected = (0, 1, 1024, 1048576) - with self._filename.open(mode="w", encoding="utf-8") as file: - file.write(sourceCode) + def parse(self, filename: Path, code: str) -> Expression: + sourceCode = self._packageTemplate.format(code=code) + + document = Document(filename, sourceCode) + self._design.Documents.append(document) + + # Traverse already to default value expression + package: Package = document.Packages[0] + item: Constant = package.DeclaredItems[0] + default: Expression = item.DefaultExpression + + return default + + def test_IntegerLiteral(self): + _filename: Path = self._root / "{className}.vhdl".format( + className=self.__class__.__name__ + ) + + constantDeclartion = "constant c0 : integer := 0;" + expected = (0, 1, 1024, 1048576) - design = Design() - document = Document(self._filename) - design.Documents.append(document) + # Parse in-memory + default: Expression = self.parse(_filename, constantDeclartion) - self.assertEqual(1, len(design.Documents[0].Packages)) - package = design.Documents[0].Packages[0] - self.assertEqual("package_1", package.Identifier) - self.assertEqual(len(expected), len(package.DeclaredItems)) - for i in range(len(expected)): - item: Constant = package.DeclaredItems[i] - self.assertIsInstance(item, Constant) - self.assertEqual("c{}".format(i), item.Identifier) - self.assertEqual("integer", str(item.Subtype.SymbolName)) - self.assertIsInstance(item.DefaultExpression, IntegerLiteral) - self.assertEqual(expected[i], item.DefaultExpression.Value) + self.assertIsInstance(default, IntegerLiteral) + self.assertEqual(expected[0], default.Value) -- cgit v1.2.3