{ "exercise": "crypto-square", "version": "3.0.0", "cases": [ { "description": "the spaces and punctuation are removed from the English text and the message is downcased", "cases": [ { "description": "Lowercase", "property": "ciphertext", "plaintext": "A", "expected": "a" }, { "description": "Remove spaces", "property": "ciphertext", "plaintext": " b ", "expected": "b" }, { "description": "Remove punctuation", "property": "ciphertext", "plaintext": "@1,%!", "expected": "1" } ] }, { "description": "Output the encoded text in chunks. Phrases that fill perfect squares `(r X r)` should be output in `r`-length chunks separated by spaces. Imperfect squares will have `n` empty spaces. Those spaces should be distributed evenly across the last `n` rows.", "cases": [ { "description": "empty plaintext results in an empty ciphertext", "property": "ciphertext", "plaintext": "", "expected": "" }, { "description": "9 character plaintext results in 3 chunks of 3 characters", "property": "ciphertext", "plaintext": "This is fun!", "expected": "tsf hiu isn" }, { "description": "54 character plaintext results in 7 chunks, the last two padded with spaces", "property": "ciphertext", "plaintext": "If man was meant to stay on the ground, god would have given us roots.", "expected": "imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau " } ] } ] }