diff --git a/scripts/Tests/UnitTests/Macro/test_macro.py b/scripts/Tests/UnitTests/Macro/test_macro.py index 18c496d..e77f99d 100644 --- a/scripts/Tests/UnitTests/Macro/test_macro.py +++ b/scripts/Tests/UnitTests/Macro/test_macro.py @@ -4,7 +4,7 @@ from utils.Macro import Macro class TestMacro(unittest.TestCase): def setUp(self): - self.macroParser = Macro({}) + self.macroParser = Macro() def test_parseMacros(self): line = 'hello {@this} is {@my_macro} and {@macro_with_numbers123}' @@ -15,3 +15,14 @@ class TestMacro(unittest.TestCase): self.assertTrue('my_macro' in symbols) self.assertTrue('macro_with_numbers123' in symbols) + def test_getName(self): + line = '{@macro_name}' + name = self.macroParser.getMacroName(line) + + self.assertEqual('macro_name', name) + + def test_getMacro(self): + line = 'some_name' + macro = self.macroParser.getMacroByName(line) + + self.assertEqual('{@some_name}', macro) \ No newline at end of file diff --git a/scripts/utils/Macro.py b/scripts/utils/Macro.py index 4279490..7d62e6d 100644 --- a/scripts/utils/Macro.py +++ b/scripts/utils/Macro.py @@ -1,15 +1,19 @@ import re class Macro: - def __init__(self, valueResolver): - assert valueResolver is not None + def __init__(self): + pass - self.__valueResolver = valueResolver + def getMacroByName(self, macroName): + assert macroName is not None - def resolveLine(self, line): - assert line is not None + return '{@' + macroName + '}' - symbols = self.getSymbols(line) + def getMacroName(self, macro): + assert macro.startswith('{@') + assert macro.endswith('}') + + return macro[2:-1] def getSymbols(self, line): assert line is not None