From 2c39fe506b1edb7eb72190680deded49ec1980d7 Mon Sep 17 00:00:00 2001 From: Isaac Good Date: Wed, 30 Sep 2026 08:22:58 -0700 Subject: [PATCH] Update templates to use dot-notation to access dict members and use `case.given` for single-input cases No changes to the generated files --- exercises/practice/allergies/.meta/template.j2 | 14 +++++++------- exercises/practice/anagram/.meta/template.j2 | 8 ++++---- exercises/practice/atbash-cipher/.meta/template.j2 | 6 +++--- exercises/practice/binary-search/.meta/template.j2 | 8 ++++---- exercises/practice/bob/.meta/template.j2 | 6 +++--- exercises/practice/darts/.meta/template.j2 | 8 ++++---- exercises/practice/eliuds-eggs/.meta/template.j2 | 6 +++--- exercises/practice/isogram/.meta/template.j2 | 6 +++--- exercises/practice/leap/.meta/template.j2 | 6 +++--- exercises/practice/luhn/.meta/template.j2 | 8 ++++---- exercises/practice/pangram/.meta/template.j2 | 6 +++--- exercises/practice/raindrops/.meta/template.j2 | 6 +++--- .../practice/reverse-string/.meta/template.j2 | 6 +++--- 13 files changed, 47 insertions(+), 47 deletions(-) diff --git a/exercises/practice/allergies/.meta/template.j2 b/exercises/practice/allergies/.meta/template.j2 index 95b5d26..22c4d6a 100644 --- a/exercises/practice/allergies/.meta/template.j2 +++ b/exercises/practice/allergies/.meta/template.j2 @@ -5,18 +5,18 @@ func _sorted(array): return array {% for case in cases %} -{%- if case["property"] == "allergicTo" %} +{%- if case.property == "allergicTo" %} -func test_{{ case["input"]["item"] }}_{{ case["func_name"] }}(allergies): - allergies.score = {{ case["input"]["score"] }} - return [allergies.allergic_to("{{ case["input"]["item"] }}"), {{ case["expected"] }}] +func test_{{ case.input.item }}_{{ case.func_name }}(allergies): + allergies.score = {{ case.input.score }} + return [allergies.allergic_to("{{ case.input.item }}"), {{ case.expected }}] {%- else %} -func test_list_when_{{ case["func_name"] }}(allergies): - allergies.score = {{ case["input"]["score"] }} +func test_list_when_{{ case.func_name }}(allergies): + allergies.score = {{ case.input.score }} return [ _sorted(allergies.lst), - _sorted({{ case["expected"] }}) + _sorted({{ case.expected }}) ] {%- endif %} {% endfor %} diff --git a/exercises/practice/anagram/.meta/template.j2 b/exercises/practice/anagram/.meta/template.j2 index 8561c0d..b3e7f4f 100644 --- a/exercises/practice/anagram/.meta/template.j2 +++ b/exercises/practice/anagram/.meta/template.j2 @@ -1,8 +1,8 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var subject = "{{ case["input"]["subject"] }}" - var candidates = {{ case["input"]["candidates"] }} - var want = {{ case["expected"] }} +func test_{{ case.func_name }}(solution_script): + var subject = "{{ case.input.subject }}" + var candidates = {{ case.input.candidates }} + var want = {{ case.expected }} var got = solution_script.find_anagram(subject, candidates) return [got, want] diff --git a/exercises/practice/atbash-cipher/.meta/template.j2 b/exercises/practice/atbash-cipher/.meta/template.j2 index 14e323b..9a2152f 100644 --- a/exercises/practice/atbash-cipher/.meta/template.j2 +++ b/exercises/practice/atbash-cipher/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var got = solution_script.{{ case["property"] }}("{{ case["input"]["phrase"] }}") - var want = "{{ case["expected"] }}" +func test_{{ case.func_name }}(solution_script): + var got = solution_script.{{ case.property }}("{{ case.given }}") + var want = "{{ case.expected }}" return [got, want] {% endfor %} diff --git a/exercises/practice/binary-search/.meta/template.j2 b/exercises/practice/binary-search/.meta/template.j2 index 8004a8a..c814bb2 100644 --- a/exercises/practice/binary-search/.meta/template.j2 +++ b/exercises/practice/binary-search/.meta/template.j2 @@ -1,10 +1,10 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var got = solution_script.find({{ case["input"]["array"] }}, {{ case["input"]["value"] }}) - {%- if case["expect_error"] %} +func test_{{ case.func_name }}(solution_script): + var got = solution_script.find({{ case.input.array }}, {{ case.input.value }}) + {%- if case.expect_error %} var want = false {%- else %} - var want = {{ case["expected"] }} + var want = {{ case.expected }} {%- endif %} return [got, want] diff --git a/exercises/practice/bob/.meta/template.j2 b/exercises/practice/bob/.meta/template.j2 index be5a1ba..2705917 100644 --- a/exercises/practice/bob/.meta/template.j2 +++ b/exercises/practice/bob/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var want = "{{ case["expected"] }}" - var got = solution_script.{{ case["property"] }}("{{ case["input"]["heyBob"] }}") +func test_{{ case.func_name }}(solution_script): + var want = "{{ case.expected }}" + var got = solution_script.{{ case.property }}("{{ case.given }}") return [got, want] {% endfor %} diff --git a/exercises/practice/darts/.meta/template.j2 b/exercises/practice/darts/.meta/template.j2 index 2ccce3d..4a3f563 100644 --- a/exercises/practice/darts/.meta/template.j2 +++ b/exercises/practice/darts/.meta/template.j2 @@ -1,8 +1,8 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var x = {{ case["input"]["x"] }} - var y = {{ case["input"]["y"] }} - var expected = {{ case["expected"] }} +func test_{{ case.func_name }}(solution_script): + var x = {{ case.input.x }} + var y = {{ case.input.y }} + var expected = {{ case.expected }} return [solution_script.score(x, y), expected] {% endfor %} diff --git a/exercises/practice/eliuds-eggs/.meta/template.j2 b/exercises/practice/eliuds-eggs/.meta/template.j2 index e428bd7..13b1b22 100644 --- a/exercises/practice/eliuds-eggs/.meta/template.j2 +++ b/exercises/practice/eliuds-eggs/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var got = solution_script.egg_count({{ case["input"]["number"] }}) - var want = {{ case["expected"] }} +func test_{{ case.func_name }}(solution_script): + var got = solution_script.egg_count({{ case.given }}) + var want = {{ case.expected }} return [got, want] {% endfor %} diff --git a/exercises/practice/isogram/.meta/template.j2 b/exercises/practice/isogram/.meta/template.j2 index ad8bf50..79bfaf5 100644 --- a/exercises/practice/isogram/.meta/template.j2 +++ b/exercises/practice/isogram/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var got = solution_script.is_isogram("{{ case["input"]["phrase"] }}") - var want = {{ case["expected"] }} +func test_{{ case.func_name }}(solution_script): + var got = solution_script.is_isogram("{{ case.given }}") + var want = {{ case.expected }} return [got, want] {% endfor %} diff --git a/exercises/practice/leap/.meta/template.j2 b/exercises/practice/leap/.meta/template.j2 index fd65c9f..92435c0 100644 --- a/exercises/practice/leap/.meta/template.j2 +++ b/exercises/practice/leap/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var got = solution_script.leap({{ case["input"]["year"] }}) - var want = {{ case["expected"] }} +func test_{{ case.func_name }}(solution_script): + var got = solution_script.leap({{ case.given }}) + var want = {{ case.expected }} return [got, want] {% endfor %} diff --git a/exercises/practice/luhn/.meta/template.j2 b/exercises/practice/luhn/.meta/template.j2 index 72148a4..32288e2 100644 --- a/exercises/practice/luhn/.meta/template.j2 +++ b/exercises/practice/luhn/.meta/template.j2 @@ -1,8 +1,8 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - solution_script.card_num = "{{ case["input"]["value"] }}" - var got = solution_script.{{ case["property"] }}() - var want = {{ case["expected"] }} +func test_{{ case.func_name }}(solution_script): + solution_script.card_num = "{{ case.given }}" + var got = solution_script.{{ case.property }}() + var want = {{ case.expected }} return [got, want] {% endfor %} diff --git a/exercises/practice/pangram/.meta/template.j2 b/exercises/practice/pangram/.meta/template.j2 index 91fa97a..82d992c 100644 --- a/exercises/practice/pangram/.meta/template.j2 +++ b/exercises/practice/pangram/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var got = solution_script.is_pangram({{ case["input"]["sentence"] | togdscript }}) - var want = {{ case["expected"] }} +func test_{{ case.func_name }}(solution_script): + var got = solution_script.is_pangram({{ case.given | togdscript }}) + var want = {{ case.expected }} return [got, want] {% endfor %} diff --git a/exercises/practice/raindrops/.meta/template.j2 b/exercises/practice/raindrops/.meta/template.j2 index 51a577e..0d38986 100644 --- a/exercises/practice/raindrops/.meta/template.j2 +++ b/exercises/practice/raindrops/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var got = solution_script.{{ case["property"] }}({{ case["input"]["number"] }}) - var want = "{{ case["expected"] }}" +func test_{{ case.func_name }}(solution_script): + var got = solution_script.{{ case.property }}({{ case.given }}) + var want = "{{ case.expected }}" return [got, want] {% endfor %} diff --git a/exercises/practice/reverse-string/.meta/template.j2 b/exercises/practice/reverse-string/.meta/template.j2 index f8c4c7b..2705917 100644 --- a/exercises/practice/reverse-string/.meta/template.j2 +++ b/exercises/practice/reverse-string/.meta/template.j2 @@ -1,7 +1,7 @@ {% for case in cases %} -func test_{{ case["func_name"] }}(solution_script): - var want = "{{ case["expected"] }}" - var got = solution_script.{{ case["property"] }}("{{ case["input"]["value"] }}") +func test_{{ case.func_name }}(solution_script): + var want = "{{ case.expected }}" + var got = solution_script.{{ case.property }}("{{ case.given }}") return [got, want] {% endfor %}