Refactor code slightly and improve test to better reflect the process

This commit is contained in:
Bob Swift
2021-04-11 13:13:30 -06:00
parent 65afbbf2a1
commit 61f9a6e04e
2 changed files with 7 additions and 6 deletions

View File

@@ -1215,9 +1215,12 @@ class ScriptParserTest(PicardTestCase):
# Tests with static inputs
self.assertScriptResultEquals("$map(First:A; Second:B; Third:C,$upper(%_loop_count%=%_loop_value%))", loop_output, context)
# Tests for removing empty elements
context["baz"] = ["First:A", "Second:B", "", "Third:C"]
self.assertScriptResultEquals("$map(%baz%,$upper(%_loop_count%=%_loop_value%))", loop_output, context)
self.assertScriptResultEquals("%baz%", loop_output, context)
context["baz"] = ["First:A", "Second:B", "Remove", "Third:C"]
test_output = "1=FIRST:A; 2=SECOND:B; 4=THIRD:C"
self.assertScriptResultEquals("$lenmulti(%baz%)", "4", context)
self.assertScriptResultEquals("$setmulti(baz,$map(%baz%,$if($eq(%_loop_count%,3),,$upper(%_loop_count%=%_loop_value%))))%baz%", test_output, context)
self.assertScriptResultEquals("$lenmulti(%baz%)", "3", context)
self.assertScriptResultEquals("%baz%", test_output, context)
# Tests with missing inputs
self.assertScriptResultEquals("$map(,$upper(%_loop_count%=%_loop_value%))", "", context)
self.assertScriptResultEquals("$map(First:A; Second:B; Third:C,)", "", context)