"Pangram" test case suggestion

Exercism’s Pangram challenge reminds me of a favorite childhood novel, “Alvin’s Secret Code,” which included a 26-letter “spy message” pangram: V.F.X.: Blitz, Jr., Ph.D., knows Guy Q. Mace. Every letter appears exactly once!

For fun I made it an additional test case to my downloaded copy of Pangram in PowerShell on Exercism:

    # 26-letter pangram from a favorite childhood novel:
    # Hicks, Clifford B. Alvin's Secret Code. New York: Holt, Rinehart and Winston, 1963.
    It "Shoie's Cipher Key" {
        $got = Invoke-Panagram -Sentence "V.F.X.: Blitz, Jr., Ph.D., knows Guy Q. Mace"

        $got | Should -BeTrue
    }

Does anybody else think this is cute or interesting enough to include as another test case for Pangram in other language tracks?

Alvin’s Secret Code was a key childhood influence, igniting an interest in cryptography which eventually led me to a lucrative cybersecurity career.

  • [cite] Hicks, Clifford B. Alvin’s Secret Code. New York: Holt, Rinehart and Winston, 1963.

Pangram is a “practice exercise” so (on most tracks) the tests come from the language-agnostic problem specs. Typically test cases are added when they add something interesting/useful to the test space, e.g. test for something specific that wasn’t previously tested. The goal is not to accumulate a collection of pangrams. Does this test case add value to the exercise in some way? Can you explain how? See also Suggesting Exercise Improvements | Exercism's Docs.

2 Likes

@IsaacG The only novelty added by my new test is one punctuation character that doesn’t appear in the other tests, probably not significant enough to cascade a change into each and every track. But I still enjoyed crafting my own extra test case as a personal creativity lark.

3 Likes

For fun, would you like to add this as an extra test case to the arm64-assembly track?

The expected PR would resemble an existing PR that added an extra test case to another exercise.

The track’s tests are generated from canonical test cases and any extra_cases() using

bin/fetch-configlet
bin/configlet sync
./generators/generate pangram

Thanks for the interest, @keiraville .

I just started the arm64-assembly track, and after several days and a genAI clanker’s help, I got a working cross-assembler and emulator for my x86_64 workstation, and I completed the Hello World exercise. I’ll play some more with the arm64-assembly track more when I get time. I used to love assembly coding long ago, but it’s been a while. I’ve never actually assembled anything for ARM CPUs until this week. When I get to and figure out the arm64-assembly Pangram exercise, I’ll see if I can add and pass my pet test case. Then I’ll examine your existing PR and try a contribution of my own. Might be a while though.

2 Likes