Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync exercises to problem-specifications #274

Open
8 of 11 tasks
BNAndras opened this issue Aug 12, 2023 · 4 comments · Fixed by #275, #276, #277, #278 or #279
Open
8 of 11 tasks

Sync exercises to problem-specifications #274

BNAndras opened this issue Aug 12, 2023 · 4 comments · Fixed by #275, #276, #277, #278 or #279
Assignees
Labels
x:module/practice-exercise Work on Practice Exercises x:status/claimed Someone is working on this issue

Comments

@BNAndras
Copy link
Member

BNAndras commented Aug 12, 2023

I noticed several slugs are missing tests. Looking at roman-numerals, I also noticed some tests where the inputs and outputs line up with tests from problem-specifications but the comments describe something different. I'll keep an eye out for those as well.

  • allergies
  • anagram
  • armstrong-numbers
  • collatz-conjecture
  • gigasecond
  • matching-brackets
  • phone-number
  • roman-numerals
  • say
  • sublist
  • word-count
configlet sync output ``` ./bin/configlet sync Updating cached 'problem-specifications' data... Checking exercises... [warn] docs: introduction unsynced: gigasecond [warn] docs: instructions unsynced: list-ops [warn] docs: instructions unsynced: matching-brackets [warn] docs: instructions unsynced: roman-numerals [warn] docs: instructions unsynced: say [warn] docs: instructions unsynced: two-fer [warn] metadata: unsynced: etl [warn] allergies: missing 1 test case - list when: -> no allergen score parts without highest valid score (93c2df3e-4f55-4fed-8116-7513092819cd) [warn] anagram: missing 4 test cases - words are not anagrams of themselves (68934ed0-010b-4ef9-857a-20c9012d1ebf) - words are not anagrams of themselves even if letter case is partially different (589384f3-4c8a-4e7d-9edc-51c3e5f0c90e) - words are not anagrams of themselves even if letter case is completely different (ba53e423-7e02-41ee-9ae2-71f91e6d18e6) - words other than themselves can be anagrams (33d3f67e-fbb9-49d3-a90e-0beb00861da7) [warn] armstrong-numbers: missing 2 test cases - Armstrong number containing seven zeroes (5ee2fdf8-334e-4a46-bb8d-e5c19c02c148) - The largest and last Armstrong number (12ffbf10-307a-434e-b4ad-c925680e1dd4) [warn] collatz-conjecture: missing 2 test cases - zero is an error (2187673d-77d6-4543-975e-66df6c50e2da) - negative value is an error (ec11f479-56bc-47fd-a434-bcd7a31a7a2e) [warn] gigasecond: missing 1 test case - does not mutate the input (fcec307c-7529-49ab-b0fe-20309197618a) [warn] matching-brackets: missing 20 test cases - paired square brackets (81ec11da-38dd-442a-bcf9-3de7754609a5) - empty string (287f0167-ac60-4b64-8452-a0aa8f4e5238) - unpaired brackets (6c3615a3-df01-4130-a731-8ef5f5d78dac) - wrong ordered brackets (9d414171-9b98-4cac-a4e5-941039a97a77) - wrong closing bracket (f0f97c94-a149-4736-bc61-f2c5148ffb85) - paired with whitespace (754468e0-4696-4582-a30e-534d47d69756) - partially paired brackets (ba84f6ee-8164-434a-9c3e-b02c7f8e8545) - simple nested brackets (3c86c897-5ff3-4a2b-ad9b-47ac3a30651d) - several paired brackets (2d137f2c-a19e-4993-9830-83967a2d4726) - paired and nested brackets (2e1f7b56-c137-4c92-9781-958638885a44) - unopened closing brackets (84f6233b-e0f7-4077-8966-8085d295c19b) - unpaired and nested brackets (9b18c67d-7595-4982-b2c5-4cb949745d49) - paired and wrong nested brackets (a0205e34-c2ac-49e6-a88a-899508d7d68e) - paired and wrong nested brackets but innermost are correct (1d5c093f-fc84-41fb-8c2a-e052f9581602) - paired and incomplete brackets (ef47c21b-bcfd-4998-844c-7ad5daad90a8) - too many closing brackets (a4675a40-a8be-4fc2-bc47-2a282ce6edbe) - early unexpected brackets (a345a753-d889-4b7e-99ae-34ac85910d1a) - early mismatched brackets (21f81d61-1608-465a-b850-baa44c5def83) - math expression (99255f93-261b-4435-a352-02bdecc9bdf2) - complex latex expression (8e357d79-f302-469a-8515-2561877256a1) [warn] phone-number: missing 4 test cases - invalid when 9 digits (2de74156-f646-42b5-8638-0ef1d8b58bc2) - invalid when more than 11 digits (4a1509b7-8953-4eec-981b-c483358ff531) - invalid with letters (eb8a1fc0-64e5-46d3-b0c6-33184208e28a) - invalid with punctuations (065f6363-8394-4759-b080-e6c8c351dd1f) [warn] roman-numerals: missing 7 test cases - 16 is XVI (6d1d82d5-bf3e-48af-9139-87d7165ed509) - 66 is LXVI (4465ffd5-34dc-44f3-ada5-56f5007b6dad) - 166 is CLXVI (902ad132-0b4d-40e3-8597-ba5ed611dd8d) - 666 is DCLXVI (dacb84b9-ea1c-4a61-acbb-ce6b36674906) - 1666 is MDCLXVI (efbe1d6a-9f98-4eb5-82bc-72753e3ac328) - 3001 is MMMI (3bc4b41c-c2e6-49d9-9142-420691504336) - 3999 is MMMCMXCIX (4e18e96b-5fbb-43df-a91b-9cb511fe0856) [warn] say: missing 4 test cases - thirty (f010d4ca-12c9-44e9-803a-27789841adb1) - ninety-nine (738ce12d-ee5c-4dfb-ad26-534753a98327) - two hundred (2f061132-54bc-4fd4-b5df-0a3b778959b9) - nine hundred ninety-nine (feed6627-5387-4d38-9692-87c0dbc55c33) [warn] sublist: missing 18 test cases - empty lists (97319c93-ebc5-47ab-a022-02a1980e1d29) - empty list within non empty list (de27dbd4-df52-46fe-a336-30be58457382) - non empty list contains empty list (5487cfd1-bc7d-429f-ac6f-1177b857d4fb) - list equals itself (1f390b47-f6b2-4a93-bc23-858ba5dda9a6) - different lists (7ed2bfb2-922b-4363-ae75-f3a05e8274f5) - false start (3b8a2568-6144-4f06-b0a1-9d266b365341) - consecutive (dc39ed58-6311-4814-be30-05a64bc8d9b1) - sublist at start (d1270dab-a1ce-41aa-b29d-b3257241ac26) - sublist in middle (81f3d3f7-4f25-4ada-bcdc-897c403de1b6) - sublist at end (43bcae1e-a9cf-470e-923e-0946e04d8fdd) - at start of superlist (76cf99ed-0ff0-4b00-94af-4dfb43fe5caa) - in middle of superlist (b83989ec-8bdf-4655-95aa-9f38f3e357fd) - at end of superlist (26f9f7c3-6cf6-4610-984a-662f71f8689b) - first list missing element from second list (0a6db763-3588-416a-8f47-76b1cedde31e) - second list missing element from first list (83ffe6d8-a445-4a3c-8795-1e51a95e65c3) - first list missing additional digits from second list (7bc76cb8-5003-49ca-bc47-cdfbe6c2bb89) - order matters to a list (0d7ee7c1-0347-45c8-9ef5-b88db152b30b) - same digits but different numbers (5f47ce86-944e-40f9-9f31-6368aad70aa6) [warn] word-count: missing 2 test cases - with apostrophes (4ff6c7d7-fcfc-43ef-b8e7-34ff1837a2d3) - quotation for word with apostrophe (6d00f1db-901c-4bec-9829-d20eb3044557) [warn] some exercises have unsynced docs [warn] some exercises have unsynced metadata [warn] some exercises are missing test cases ```
@BNAndras
Copy link
Member Author

@ErikSchierboom, can I get approval for the five open PRs linked here? You can skip the PR for say since that one's not ready.

@ErikSchierboom
Copy link
Member

@BNAndras Sure!

@BNAndras BNAndras reopened this Sep 11, 2023
@BNAndras BNAndras self-assigned this Sep 16, 2023
@BNAndras BNAndras added x:module/practice-exercise Work on Practice Exercises x:status/claimed Someone is working on this issue labels Sep 16, 2023
@BNAndras
Copy link
Member Author

Picking this back up. Anagram will need a second PR and then I'll go through say and word-count.

@BNAndras
Copy link
Member Author

I'm leaving say alone for now. I want to restructure the test suite to resemble the other exercises. However, the test suite is broken into the four separate stepX functions while the problem specifications use a single say. I don't want to break any solutions so I want to make sure the right tests go with the right step function. The exercise likely needs to get boosted in difficulty level as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment