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

Tracking: Syncing exercises to problem specifications #628

Open
mk-mxp opened this issue Feb 22, 2024 · 1 comment
Open

Tracking: Syncing exercises to problem specifications #628

mk-mxp opened this issue Feb 22, 2024 · 1 comment

Comments

@mk-mxp
Copy link
Contributor

mk-mxp commented Feb 22, 2024

Using configlet sync at the time of writing is a wall of warnings. These are things to sync. I will extract one issue for each exercise, but that takes some more time.

To sync an exercise with problem specifications, take these steps:

  • Run bin/configlet sync -u -e <slug> --yes --docs --filepaths --metadata --tests include (updates the Markdown files and maybe tests.toml)
  • Drop strict types comments from test file and example code (these are useless)
  • Add and sync test meta data to tests (uuid / @testdox in DocBlocks)
  • Decide on adding / adjusting / ordering test cases to match current problem specs

Do not redesign the student's interface or add test cases that would invalidate existing community solutions. These are extra tasks, which should be discussed in advance.

  • docs: instructions unsynced: accumulate
  • metadata: unsynced: accumulate
  • accumulate: missing 6 test cases
    • accumulate empty (64d97c14-36dd-44a8-9621-2cecebd6ed23)
    • accumulate squares (00008ed2-4651-4929-8c08-8b4dbd70872e)
    • accumulate upcases (551016da-4396-4cae-b0ec-4c3a1a264125)
    • accumulate reversed strings (cdf95597-b6ec-4eac-a838-3480d13d0d05)
    • accumulate recursively (bee8e9b6-b16f-4cd2-be3b-ccf7457e50bb)
    • accumulate recursively (0b357334-4cad-49e1-a741-425202edfc7c)
  • #48in24: Sync acronym #745
  • docs: instructions unsynced: affine-cipher
  • docs: instructions unsynced: allergies
  • metadata: unsynced: allergies
  • allergies: missing 1 test case
    • list when: -> no allergen score parts without highest valid score (93c2df3e-4f55-4fed-8116-7513092819cd)
  • alphametics: missing 10 test cases
    • puzzle with three letters (e0c08b07-9028-4d5f-91e1-d178fead8e1a)
    • solution must have unique value for each letter (a504ee41-cb92-4ec2-9f11-c37e95ab3f25)
    • leading zero solution is invalid (4e3b81d2-be7b-4c5c-9a80-cd72bc6d465a)
    • puzzle with two digits final carry (8a3e3168-d1ee-4df7-94c7-b9c54845ac3a)
    • puzzle with four letters (a9630645-15bd-48b6-a61e-d85c4021cc09)
    • puzzle with six letters (3d905a86-5a52-4e4e-bf80-8951535791bd)
    • puzzle with seven letters (4febca56-e7b7-4789-97b9-530d09ba95f0)
    • puzzle with eight letters (12125a75-7284-4f9a-a5fa-191471e0d44f)
    • puzzle with ten letters (fb05955f-38dc-477a-a0b6-5ef78969fffa)
    • puzzle with ten letters and 199 addends (9a101e81-9216-472b-b458-b513a7adacf7)
  • #48in24: anagram 2024-07-23 #734
  • docs: instructions unsynced: armstrong-numbers
  • metadata: unsynced: armstrong-numbers
  • 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)
  • docs: instructions unsynced: atbash-cipher
  • docs: instructions unsynced: bank-account bank-account: sync #720
  • metadata: unsynced: bank-account
  • bank-account: missing 17 test cases
    • Newly opened account has zero balance (983a1528-4ceb-45e5-8257-8ce01aceb5ed)
    • Single deposit (e88d4ec3-c6bf-4752-8e59-5046c44e3ba7)
    • Multiple deposits (3d9147d4-63f4-4844-8d2b-1fee2e9a2a0d)
    • Withdraw once (08f1af07-27ae-4b38-aa19-770bde558064)
    • Withdraw twice (6f6d242f-8c31-4ac6-8995-a90d42cad59f)
    • Can do multiple operations sequentially (45161c94-a094-4c77-9cec-998b70429bda)
    • Cannot check balance of closed account (f9facfaa-d824-486e-8381-48832c4bbffd)
    • Cannot deposit into closed account (7a65ba52-e35c-4fd2-8159-bda2bde6e59c)
    • Cannot deposit into unopened account (a0a1835d-faae-4ad4-a6f3-1fcc2121380b)
    • Cannot withdraw from closed account (570dfaa5-0532-4c1f-a7d3-0f65c3265608)
    • Cannot close an account that was not opened (c396d233-1c49-4272-98dc-7f502dbb9470)
    • Cannot open an already opened account (c06f534f-bdc2-4a02-a388-1063400684de)
    • Reopened account does not retain balance (0722d404-6116-4f92-ba3b-da7f88f1669c)
    • Cannot withdraw more than deposited (ec42245f-9361-4341-8231-a22e8d19c52f)
    • Cannot withdraw negative (4f381ef8-10ef-4507-8e1d-0631ecc8ee72)
    • Cannot deposit negative (d45df9ea-1db0-47f3-b18c-d365db49d938)
    • Can handle concurrent transactions (ba0c1e0b-0f00-416f-8097-a7dfc97871ff)
  • docs: instructions unsynced: beer-song
  • docs: instructions unsynced: binary
  • metadata: unsynced: binary
  • #48in24: binary-search 2024-07-02 #731
  • metadata: unsynced: binary-search-tree
  • binary-search-tree: missing 10 test cases
    • data is retained (e9c93a78-c536-4750-a336-94583d23fafa)
    • insert data at proper node -> smaller number at left node (7a95c9e8-69f6-476a-b0c4-4170cb3f7c91)
    • insert data at proper node -> same number at left node (22b89499-9805-4703-a159-1a6e434c1585)
    • insert data at proper node -> greater number at right node (2e85fdde-77b1-41ed-b6ac-26ce6b663e34)
    • can create complex tree (dd898658-40ab-41d0-965e-7f145bf66e0b)
    • can sort data -> can sort single number (9e0c06ef-aeca-4202-b8e4-97f1ed057d56)
    • can sort data -> can sort if second number is smaller than first (425e6d07-fceb-4681-a4f4-e46920e380bb)
    • can sort data -> can sort if second number is same as first (bd7532cc-6988-4259-bac8-1d50140079ab)
    • can sort data -> can sort if second number is greater than first (b6d1b3a5-9d79-44fd-9013-c83ca92ddd36)
    • can sort data -> can sort complex tree (d00ec9bd-1288-4171-b968-d44d0808c1c8)
  • docs: instructions unsynced: bob
  • docs: introduction missing: bob
  • docs: instructions unsynced: book-store
  • book-store: missing 3 test cases
    • Check that groups of four are created properly even when there are more groups of three than groups of five (5260ddde-2703-4915-b45a-e54dbbac4303)
    • One group of one and four is cheaper than one group of two and three (b0478278-c551-4747-b0fc-7e0be3158b1f)
    • One group of one and two plus three groups of four is cheaper than one group of each size (cf868453-6484-4ae1-9dfc-f8ee85bbde01)
  • docs: instructions unsynced: bowling
  • metadata: unsynced: bowling
  • bowling: missing 1 test case
    • last two strikes followed by only last bonus with non strike points (efb426ec-7e15-42e6-9b96-b4fca3ec2359)
  • docs: instructions unsynced: change
  • metadata: unsynced: change
  • change: missing 1 test case
    • change for 1 cent (d0ebd0e1-9d27-4609-a654-df5c0ba1d83a)
  • metadata: unsynced: clock
  • docs: instructions unsynced: collatz-conjecture
  • metadata: unsynced: collatz-conjecture
  • 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)
  • docs: instructions unsynced: connect
  • metadata: unsynced: connect
  • docs: instructions unsynced: crypto-square
  • crypto-square: missing 1 test case
    • normalization results in empty plaintext (aad04a25-b8bb-4304-888b-581bea8e0040)
  • docs: instructions unsynced: darts
  • metadata: unsynced: darts
  • darts: missing 13 test cases
    • Missed target (9033f731-0a3a-4d9c-b1c0-34a1c8362afb)
    • On the outer circle (4c9f6ff4-c489-45fd-be8a-1fcb08b4d0ba)
    • On the middle circle (14378687-ee58-4c9b-a323-b089d5274be8)
    • On the inner circle (849e2e63-85bd-4fed-bc3b-781ae962e2c9)
    • Exactly on center (1c5ffd9f-ea66-462f-9f06-a1303de5a226)
    • Near the center (b65abce3-a679-4550-8115-4b74bda06088)
    • Just within the inner circle (66c29c1d-44f5-40cf-9927-e09a1305b399)
    • Just outside the inner circle (d1012f63-c97c-4394-b944-7beb3d0b141a)
    • Just within the middle circle (ab2b5666-b0b4-49c3-9b27-205e790ed945)
    • Just outside the middle circle (70f1424e-d690-4860-8caf-9740a52c0161)
    • Just within the outer circle (a7dbf8db-419c-4712-8a7f-67602b69b293)
    • Just outside the outer circle (e0f39315-9f9a-4546-96e4-a9475b885aa7)
    • Asymmetric position between the inner and middle circles (045d7d18-d863-4229-818e-b50828c75d19)
  • docs: instructions unsynced: diamond
  • metadata: unsynced: diamond
  • metadata: unsynced: etl
  • docs: instructions unsynced: flatten-array
  • metadata: unsynced: flatten-array
  • flatten-array: missing 5 test cases
    • empty (8c71dabd-da60-422d-a290-4a571471fb14)
    • flattens a nested array (3f15bede-c856-479e-bb71-1684b20c6a30)
    • null values are omitted from the final result (0705a8e5-dc86-4cec-8909-150c5e54fa9c)
    • consecutive null values at the front of the list are omitted from the final result (c6cf26de-8ccd-4410-84bd-b9efd88fd2bc)
    • consecutive null values in the middle of the list are omitted from the final result (382c5242-587e-4577-b8ce-a5fb51e385a1)
  • gigasecond: missing 1 test case
    • does not mutate the input (fcec307c-7529-49ab-b0fe-20309197618a)
  • docs: instructions unsynced: grade-school
  • metadata: unsynced: grade-school
  • grade-school: missing 16 test cases
    • Add a student (9337267f-7793-4b90-9b4a-8e3978408824)
    • Adding multiple students in the same grade in the roster (73c3ca75-0c16-40d7-82f5-ed8fe17a8e4a)
    • Cannot add student to same grade in the roster more than once (87c871c1-6bde-4413-9c44-73d59a259d83)
    • A student can't be in two different grades (c125dab7-2a53-492f-a99a-56ad511940d8)
    • A student can only be added to the same grade in the roster once (a0c7b9b8-0e89-47f8-8b4a-c50f885e79d1)
    • Student not added to same grade in the roster more than once (d7982c4f-1602-49f6-a651-620f2614243a)
    • Adding students in multiple grades (e70d5d8f-43a9-41fd-94a4-1ea0fa338056)
    • Cannot add same student to multiple grades in the roster (7df542f1-57ce-433c-b249-ff77028ec479)
    • A student cannot be added to more than one grade in the sorted roster (6a03b61e-1211-4783-a3cc-fc7f773fba3f)
    • Student not added to multiple grades in the roster (c7ec1c5e-9ab7-4d3b-be5c-29f2f7a237c5)
    • Students are sorted by grades in the roster (d9af4f19-1ba1-48e7-94d0-dabda4e5aba6)
    • Students are sorted by name in the roster (d9fb5bea-f5aa-4524-9d61-c158d8906807)
    • Grade is empty if no students in that grade (1e0cf06b-26e0-4526-af2d-a2e2df6a51d6)
    • Student not added to same grade more than once (2bfc697c-adf2-4b65-8d0f-c46e085f796e)
    • Student not added to multiple grades (66c8e141-68ab-4a04-a15a-c28bc07fe6b9)
    • Student not added to other grade for multiple grades (c9c1fc2f-42e0-4d2c-b361-99271f03eda7)
  • docs: instructions unsynced: grains
  • metadata: unsynced: grains
  • docs: instructions unsynced: hamming
  • hamming: missing 6 test cases
    • disallow first strand longer (b9228bb1-465f-4141-b40f-1f99812de5a8)
    • disallow second strand longer (dab38838-26bb-4fff-acbe-3b0a9bfeba2d)
    • disallow left empty strand (db92e77e-7c72-499d-8fe6-9354d2bfd504)
    • disallow empty first strand (b764d47c-83ff-4de2-ab10-6cfe4b15c0f3)
    • disallow right empty strand (920cd6e3-18f4-4143-b6b8-74270bb8f8a3)
    • disallow empty second strand (9ab9262f-3521-4191-81f5-0ed184a5aa89)
  • docs: instructions unsynced: hello-world
  • metadata: unsynced: hello-world
  • docs: instructions unsynced: high-scores
  • metadata: unsynced: high-scores
  • high-scores: missing 12 test cases
    • List of scores (1035eb93-2208-4c22-bab8-fef06769a73c)
    • Latest score (6aa5dbf5-78fa-4375-b22c-ffaa989732d2)
    • Personal best (b661a2e1-aebf-4f50-9139-0fb817dd12c6)
    • Top 3 scores -> Personal top three from a list of scores (3d996a97-c81c-4642-9afc-80b80dc14015)
    • Top 3 scores -> Personal top highest to lowest (1084ecb5-3eb4-46fe-a816-e40331a4e83a)
    • Top 3 scores -> Personal top when there is a tie (e6465b6b-5a11-4936-bfe3-35241c4f4f16)
    • Top 3 scores -> Personal top when there are less than 3 (f73b02af-c8fd-41c9-91b9-c86eaa86bce2)
    • Top 3 scores -> Personal top when there is only one (16608eae-f60f-4a88-800e-aabce5df2865)
    • Top 3 scores -> Latest score after personal top scores (2df075f9-fec9-4756-8f40-98c52a11504f)
    • Top 3 scores -> Scores after personal top scores (809c4058-7eb1-4206-b01e-79238b9b71bc)
    • Top 3 scores -> Latest score after personal best (ddb0efc0-9a86-4f82-bc30-21ae0bdc6418)
    • Top 3 scores -> Scores after personal best (6a0fd2d1-4cc4-46b9-a5bb-2fb667ca2364)
  • docs: instructions unsynced: isogram
  • isogram: missing 1 test case
    • word with duplicated character and with two hyphens (0d0b8644-0a1e-4a31-a432-2b3ee270d847)
  • largest-series-product: missing 1 test case
    • rejects negative span (c859f34a-9bfe-4897-9c2f-6d7f8598e7f0)
  • metadata: unsynced: linked-list
  • linked-list: missing 19 test cases
    • pop gets element from the list (7f7e3987-b954-41b8-8084-99beca08752c)
    • push/pop respectively add/remove at the end of the list (c3f67e5d-cfa2-4c3e-a18f-7ce999c3c885)
    • shift gets an element from the list (00ea24ce-4f5c-4432-abb4-cc6e85462657)
    • shift gets first element from the list (37962ee0-3324-4a29-b588-5a4c861e6564)
    • unshift adds element at start of the list (30a3586b-e9dc-43fb-9a73-2770cec2c718)
    • pop, push, shift, and unshift can be used in any order (042f71e4-a8a7-4cf0-8953-7e4f3a21c42d)
    • count an empty list (88f65c0c-4532-4093-8295-2384fb2f37df)
    • count a list with items (fc055689-5cbe-4cd9-b994-02e2abbb40a5)
    • count is correct after mutation (8272cef5-130d-40ea-b7f6-5ffd0790d650)
    • popping to empty doesn't break the list (229b8f7a-bd8a-4798-b64f-0dc0bb356d95)
    • shifting to empty doesn't break the list (4e1948b4-514e-424b-a3cf-a1ebbfa2d1ad)
    • deletes the only element (e8f7c600-d597-4f79-949d-8ad8bae895a6)
    • deletes the element with the specified value from the list (fd65e422-51f3-45c0-9fd0-c33da638f89b)
    • deletes the element with the specified value from the list, re-assigns tail (59db191a-b17f-4ab7-9c5c-60711ec1d013)
    • deletes the element with the specified value from the list, re-assigns head (58242222-5d39-415b-951d-8128247f8993)
    • deletes the first of two elements (ee3729ee-3405-4bd2-9bad-de0d4aa5d647)
    • deletes the second of two elements (47e3b3b4-b82c-4c23-8c1a-ceb9b17cb9fb)
    • delete does not modify the list if the element is not found (7b420958-f285-4922-b8f9-10d9dcab5179)
    • deletes only the first occurrence (7e04828f-6082-44e3-a059-201c63252a76)
  • docs: instructions unsynced: luhn
  • luhn: missing 4 test cases
    • invalid long number with a remainder divisible by 5 (7e7c9fc1-d994-457c-811e-d390d52fba5e)
    • very long input is valid (b9887ee8-8337-46c5-bc45-3bcab51bc36f)
    • valid luhn with an odd number of digits and non zero first digit (8a7c0e24-85ea-4154-9cf1-c2db90eabc08)
    • non-numeric, non-space char in the middle with a sum that's divisible by 10 isn't allowed (8b72ad26-c8be-49a2-b99c-bcc3bf631b33)
  • docs: instructions unsynced: markdown
  • metadata: unsynced: markdown
  • markdown: missing 5 test cases
    • with h3 header level (9df3f500-0622-4696-81a7-d5babd9b5f49)
    • with h4 header level (50862777-a5e8-42e9-a3b8-4ba6fcd0ed03)
    • with h5 header level (ee1c23ac-4c86-4f2a-8b9c-403548d4ab82)
    • with h7 header level (6dca5d10-5c22-4e2a-ac2b-bd6f21e61939)
    • h7 header level is a paragraph (81c0c4db-435e-4d77-860d-45afacdad810)
  • #48in24: matching-brackets 2024-06-18 #714
  • docs: instructions unsynced: matrix
  • metadata: unsynced: matrix
  • matrix: missing 8 test cases
    • extract row from one number matrix (ca733dab-9d85-4065-9ef6-a880a951dafd)
    • can extract row (5c93ec93-80e1-4268-9fc2-63bc7d23385c)
    • extract row where numbers have different widths (2f1aad89-ad0f-4bd2-9919-99a8bff0305a)
    • can extract row from non-square matrix with no corresponding column (68f7f6ba-57e2-4e87-82d0-ad09889b5204)
    • extract column from one number matrix (e8c74391-c93b-4aed-8bfe-f3c9beb89ebb)
    • can extract column (7136bdbd-b3dc-48c4-a10c-8230976d3727)
    • can extract column from non-square matrix with no corresponding row (ad64f8d7-bba6-4182-8adf-0c14de3d0eca)
    • extract column where numbers have different widths (9eddfa5c-8474-440e-ae0a-f018c2a0dd89)
  • #48in24: Meetup 2024-08-20 and PHP is a featured language #667
  • docs: instructions unsynced: nth-prime
  • docs: instructions unsynced: nucleotide-count
  • docs: instructions unsynced: ocr-numbers
  • metadata: unsynced: ocr-numbers
  • docs: instructions unsynced: palindrome-products
  • palindrome-products: missing 1 test case
    • smallest product does not use the smallest factor (16481711-26c4-42e0-9180-e2e4e8b29c23)
  • docs: instructions unsynced: pascals-triangle
  • metadata: unsynced: pascals-triangle
  • docs: instructions unsynced: perfect-numbers
  • metadata: unsynced: perfect-numbers
  • docs: instructions unsynced: phone-number
  • metadata: unsynced: phone-number
  • 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)
  • docs: instructions unsynced: poker
  • metadata: unsynced: poker
  • poker: missing 39 test cases
    • single hand always wins (161f485e-39c2-4012-84cf-bec0c755b66c)
    • highest card out of all hands wins (370ac23a-a00f-48a9-9965-6f3fb595cf45)
    • a tie has multiple winners (d94ad5a7-17df-484b-9932-c64fc26cff52)
    • multiple hands with the same high cards, tie compares next highest ranked, down to last card (61ed83a9-cfaa-40a5-942a-51f52f0a8725)
    • winning high card hand also has the lowest card (da01becd-f5b0-4342-b7f3-1318191d0580)
    • one pair beats high card (f7175a89-34ff-44de-b3d7-f6fd97d1fca4)
    • highest pair wins (e114fd41-a301-4111-a9e7-5a7f72a76561)
    • both hands have the same pair, high card wins (b3acd3a7-f9fa-4647-85ab-e0a9e07d1365)
    • two pairs beats one pair (935bb4dc-a622-4400-97fa-86e7d06b1f76)
    • both hands have two pairs, highest ranked pair wins (c8aeafe1-6e3d-4711-a6de-5161deca91fd)
    • both hands have two pairs, with the same highest ranked pair, tie goes to low pair (88abe1ba-7ad7-40f3-847e-0a26f8e46a60)
    • both hands have two identically ranked pairs, tie goes to remaining card (kicker) (15a7a315-0577-47a3-9981-d6cf8e6f387b)
    • both hands have two pairs that add to the same value, win goes to highest pair (f761e21b-2560-4774-a02a-b3e9366a51ce)
    • two pairs first ranked by largest pair (fc6277ac-94ac-4078-8d39-9d441bc7a79e)
    • three of a kind beats two pair (21e9f1e6-2d72-49a1-a930-228e5e0195dc)
    • both hands have three of a kind, tie goes to highest ranked triplet (c2fffd1f-c287-480f-bf2d-9628e63bbcc3)
    • with multiple decks, two players can have same three of a kind, ties go to highest remaining cards (eb856cc2-481c-4b0d-9835-4d75d07a5d9d)
    • with multiple decks, two players can have same three of a kind, ties go to highest remaining cards (26a4a7d4-34a2-4f18-90b4-4a8dd35d2bb1)
    • a straight beats three of a kind (a858c5d9-2f28-48e7-9980-b7fa04060a60)
    • aces can end a straight (10 J Q K A) (73c9c756-e63e-4b01-a88d-0d4491a7a0e3)
    • aces can start a straight (A 2 3 4 5) (76856b0d-35cd-49ce-a492-fe5db53abc02)
    • aces cannot be in the middle of a straight (Q K A 2 3) (e214b7df-dcba-45d3-a2e5-342d8c46c286)
    • both hands with a straight, tie goes to highest ranked card (6980c612-bbff-4914-b17a-b044e4e69ea1)
    • even though an ace is usually high, a 5-high straight is the lowest-scoring straight (5135675c-c2fc-4e21-9ba3-af77a32e9ba4)
    • flush beats a straight (c601b5e6-e1df-4ade-b444-b60ce13b2571)
    • both hands have a flush, tie goes to high card, down to the last one if necessary (4d90261d-251c-49bd-a468-896bf10133de)
    • both hands have a flush, tie goes to high card, down to the last one if necessary (e04137c5-c19a-4dfc-97a1-9dfe9baaa2ff)
    • full house beats a flush (3a19361d-8974-455c-82e5-f7152f5dba7c)
    • both hands have a full house, tie goes to highest-ranked triplet (eb73d0e6-b66c-4f0f-b8ba-bf96bc0a67f0)
    • with multiple decks, both hands have a full house with the same triplet, tie goes to the pair (34b51168-1e43-4c0d-9b32-e356159b4d5d)
    • four of a kind beats a full house (d61e9e99-883b-4f99-b021-18f0ae50c5f4)
    • both hands have four of a kind, tie goes to high quad (2e1c8c63-e0cb-4214-a01b-91954490d2fe)
    • with multiple decks, both hands with identical four of a kind, tie determined by kicker (892ca75d-5474-495d-9f64-a6ce2dcdb7e1)
    • straight flush beats four of a kind (923bd910-dc7b-4f7d-a330-8b42ec10a3ac)
    • aces can end a straight flush (10 J Q K A) (d9629e22-c943-460b-a951-2134d1b43346)
    • aces can start a straight flush (A 2 3 4 5) (05d5ede9-64a5-4678-b8ae-cf4c595dc824)
    • aces cannot be in the middle of a straight flush (Q K A 2 3) (ad655466-6d04-49e8-a50c-0043c3ac18ff)
    • both hands have a straight flush, tie goes to highest-ranked card (d0927f70-5aec-43db-aed8-1cbd1b6ee9ad)
    • even though an ace is usually high, a 5-high straight flush is the lowest-scoring straight flush (be620e09-0397-497b-ac37-d1d7a4464cfc)
  • docs: instructions unsynced: prime-factors
  • metadata: unsynced: prime-factors
  • prime-factors: missing 5 test cases
    • another prime number (238d57c8-4c12-42ef-af34-ae4929f94789)
    • product of first prime (756949d3-3158-4e3d-91f2-c4f9f043ee70)
    • product of second prime (7d6a3300-a4cb-4065-bd33-0ced1de6cb44)
    • product of third prime (073ac0b2-c915-4362-929d-fc45f7b9a9e4)
    • product of first and second prime (6e0e4912-7fb6-47f3-a9ad-dbcd79340c75)
  • #48in24: Sync protein-translation #743
  • docs: instructions unsynced: proverb
  • metadata: unsynced: proverb
  • proverb: missing 6 test cases
    • zero pieces (e974b73e-7851-484f-8d6d-92e07fe742fc)
    • one piece (2fcd5f5e-8b82-4e74-b51d-df28a5e0faa4)
    • two pieces (d9d0a8a1-d933-46e2-aa94-eecf679f4b0e)
    • three pieces (c95ef757-5e94-4f0d-a6cb-d2083f5e5a83)
    • full proverb (433fb91c-35a2-4d41-aeab-4de1e82b2126)
    • four pieces modernized (c1eefa5a-e8d9-41c7-91d4-99fab6d6b9f7)
  • docs: instructions unsynced: queen-attack
  • queen-attack: missing 1 test case
    • Test the ability of one queen to attack another -> cannot attack if falling diagonals are only the same when reflected across the longest falling diagonal (543f8fd4-2597-4aad-8d77-cbdab63619f8)
  • docs: instructions unsynced: rail-fence-cipher
  • #48in24: Sync raindrops #741
  • docs: instructions unsynced: resistor-color
  • metadata: unsynced: resistor-color
  • resistor-color: missing 4 test cases
    • Color codes -> Black (49eb31c5-10a8-4180-9f7f-fea632ab87ef)
    • Color codes -> White (0a4df94b-92da-4579-a907-65040ce0b3fc)
    • Color codes -> Orange (5f81608d-f36f-4190-8084-f45116b6f380)
    • Colors (581d68fa-f968-4be2-9f9d-880f2fb73cf7)
  • metadata: unsynced: resistor-color-duo
  • resistor-color-duo: missing 7 test cases
    • Brown and black (ce11995a-5b93-4950-a5e9-93423693b2fc)
    • Blue and grey (7bf82f7a-af23-48ba-a97d-38d59406a920)
    • Yellow and violet (f1886361-fdfd-4693-acf8-46726fe24e0c)
    • White and red (b7a6cbd2-ae3c-470a-93eb-56670b305640)
    • Orange and orange (77a8293d-2a83-4016-b1af-991acc12b9fe)
    • Ignore additional colors (0c4fb44f-db7c-4d03-afa8-054350f156a8)
    • Black and brown, one-digit (4a8ceec5-0ab4-4904-88a4-daf953a5e818)
  • docs: instructions unsynced: resistor-color-trio
  • metadata: unsynced: resistor-color-trio
  • resistor-color-trio: missing 10 test cases
    • Orange and orange and black (d6863355-15b7-40bb-abe0-bfb1a25512ed)
    • Blue and grey and brown (1224a3a9-8c8e-4032-843a-5224e04647d6)
    • Red and black and red (b8bda7dc-6b95-4539-abb2-2ad51d66a207)
    • Green and brown and orange (5b1e74bc-d838-4eda-bbb3-eaba988e733b)
    • Yellow and violet and yellow (f5d37ef9-1919-4719-a90d-a33c5a6934c9)
    • Blue and violet and blue (5f6404a7-5bb3-4283-877d-3d39bcc33854)
    • Minimum possible value (7d3a6ab8-e40e-46c3-98b1-91639fff2344)
    • Maximum possible value (ca0aa0ac-3825-42de-9f07-dac68cc580fd)
    • First two colors make an invalid octal number (0061a76c-903a-4714-8ce2-f26ce23b0e09)
    • Ignore extra colors (30872c92-f567-4b69-a105-8455611c10c4)
  • #48in24: Sync reverse-string #740
  • docs: instructions unsynced: robot-name
  • docs: instructions unsynced: robot-simulator
  • 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)
  • docs: instructions unsynced: run-length-encoding
  • docs: instructions unsynced: say
  • metadata: unsynced: say
  • say: missing 19 test cases
    • zero (5d22a120-ba0c-428c-bd25-8682235d83e8)
    • one (9b5eed77-dbf6-439d-b920-3f7eb58928f6)
    • fourteen (7c499be1-612e-4096-a5e1-43b2f719406d)
    • twenty (f541dd8e-f070-4329-92b4-b7ce2fcf06b4)
    • twenty-two (d78601eb-4a84-4bfa-bf0e-665aeb8abe94)
    • thirty (f010d4ca-12c9-44e9-803a-27789841adb1)
    • ninety-nine (738ce12d-ee5c-4dfb-ad26-534753a98327)
    • one hundred (e417d452-129e-4056-bd5b-6eb1df334dce)
    • one hundred twenty-three (d6924f30-80ba-4597-acf6-ea3f16269da8)
    • two hundred (2f061132-54bc-4fd4-b5df-0a3b778959b9)
    • nine hundred ninety-nine (feed6627-5387-4d38-9692-87c0dbc55c33)
    • one thousand (3d83da89-a372-46d3-b10d-de0c792432b3)
    • one thousand two hundred thirty-four (865af898-1d5b-495f-8ff0-2f06d3c73709)
    • one million (b6a3f442-266e-47a3-835d-7f8a35f6cf7f)
    • one million two thousand three hundred forty-five (2cea9303-e77e-4212-b8ff-c39f1978fc70)
    • one billion (3e240eeb-f564-4b80-9421-db123f66a38f)
    • a big number (9a43fed1-c875-4710-8286-5065d73b8a9e)
    • numbers below zero are out of range (49a6a17b-084e-423e-994d-a87c0ecc05ef)
    • numbers above 999,999,999,999 are out of range (4d6492eb-5853-4d16-9d34-b0f61b261fd9)
  • docs: instructions unsynced: series
  • series: missing 1 test case
    • slice length is way too large (d7957455-346d-4e47-8e4b-87ed1564c6d7)
  • docs: instructions unsynced: simple-cipher
  • metadata: unsynced: simple-cipher
  • simple-cipher: missing 12 test cases
    • Random key cipher -> Can encode (b8bdfbe1-bea3-41bb-a999-b41403f2b15d)
    • Random key cipher -> Can decode (3dff7f36-75db-46b4-ab70-644b3f38b81c)
    • Random key cipher -> Is reversible. I.e., if you apply decode in a encoded result, you must see the same plaintext encode parameter as a result of the decode method (8143c684-6df6-46ba-bd1f-dea8fcb5d265)
    • Random key cipher -> Key is made only of lowercase letters (defc0050-e87d-4840-85e4-51a1ab9dd6aa)
    • Substitution cipher -> Can encode (565e5158-5b3b-41dd-b99d-33b9f413c39f)
    • Substitution cipher -> Can decode (d44e4f6a-b8af-4e90-9d08-fd407e31e67b)
    • Substitution cipher -> Is reversible. I.e., if you apply decode in a encoded result, you must see the same plaintext encode parameter as a result of the decode method (70a16473-7339-43df-902d-93408c69e9d1)
    • Substitution cipher -> Can double shift encode (69a1458b-92a6-433a-a02d-7beac3ea91f9)
    • Substitution cipher -> Can wrap on encode (21d207c1-98de-40aa-994f-86197ae230fb)
    • Substitution cipher -> Can wrap on decode (a3d7a4d7-24a9-4de6-bdc4-a6614ced0cb3)
    • Substitution cipher -> Can encode messages longer than the key (e31c9b8c-8eb6-45c9-a4b5-8344a36b9641)
    • Substitution cipher -> Can decode messages longer than the key (93cfaae0-17da-4627-9a04-d6d1e1be52e3)
  • docs: instructions unsynced: tournament
  • tournament: missing 12 test cases
    • just the header if no input (67e9fab1-07c1-49cf-9159-bc8671cc7c9c)
    • a win is three points, a loss is zero points (1b4a8aef-0734-4007-80a2-0626178c88f4)
    • a win can also be expressed as a loss (5f45ac09-4efe-46e7-8ddb-75ad85f86e05)
    • a different team can win (fd297368-efa0-442d-9f37-dd3f9a437239)
    • a draw is one point each (26c016f9-e753-4a93-94e9-842f7b4d70fc)
    • There can be more than one match (731204f6-4f34-4928-97eb-1c307ba83e62)
    • There can be more than one winner (49dc2463-42af-4ea6-95dc-f06cc5776adf)
    • There can be more than two teams (6d930f33-435c-4e6f-9e2d-63fa85ce7dc7)
    • typical input (97022974-0c8a-4a50-8fe7-e36bdd8a5945)
    • incomplete competition (not all pairs have played) (fe562f0d-ac0a-4c62-b9c9-44ee3236392b)
    • ties broken alphabetically (3aa0386f-150b-4f99-90bb-5195e7b7d3b8)
    • ensure points sorted numerically (f9e20931-8a65-442a-81f6-503c0205b17a)
  • docs: instructions unsynced: transpose
  • metadata: unsynced: transpose
  • transpose: missing 1 test case
    • jagged triangle (76acfd50-5596-4d05-89f1-5116328a7dd9)
  • docs: instructions unsynced: triangle
  • metadata: unsynced: triangle
  • triangle: missing 2 test cases
    • scalene triangle -> first and third sides are equal (3da23a91-a166-419a-9abf-baf4868fd985)
    • scalene triangle -> second and third sides are equal (b6a75d98-1fef-4c42-8e9a-9db854ba0a4d)
  • docs: instructions unsynced: trinary
  • metadata: unsynced: trinary
  • docs: instructions unsynced: twelve-days
  • metadata: unsynced: twelve-days
  • twelve-days: missing 15 test cases
    • verse -> first day a partridge in a pear tree (c0b5a5e6-c89d-49b1-a6b2-9f523bff33f7)
    • verse -> second day two turtle doves (1c64508a-df3d-420a-b8e1-fe408847854a)
    • verse -> third day three french hens (a919e09c-75b2-4e64-bb23-de4a692060a8)
    • verse -> fourth day four calling birds (9bed8631-ec60-4894-a3bb-4f0ec9fbe68d)
    • verse -> fifth day five gold rings (cf1024f0-73b6-4545-be57-e9cea565289a)
    • verse -> sixth day six geese-a-laying (50bd3393-868a-4f24-a618-68df3d02ff04)
    • verse -> seventh day seven swans-a-swimming (8f29638c-9bf1-4680-94be-e8b84e4ade83)
    • verse -> eighth day eight maids-a-milking (7038d6e1-e377-47ad-8c37-10670a05bc05)
    • verse -> ninth day nine ladies dancing (37a800a6-7a56-4352-8d72-0f51eb37cfe8)
    • verse -> tenth day ten lords-a-leaping (10b158aa-49ff-4b2d-afc3-13af9133510d)
    • verse -> eleventh day eleven pipers piping (08d7d453-f2ba-478d-8df0-d39ea6a4f457)
    • verse -> twelfth day twelve drummers drumming (0620fea7-1704-4e48-b557-c05bf43967f0)
    • lyrics -> recites first three verses of the song (da8b9013-b1e8-49df-b6ef-ddec0219e398)
    • lyrics -> recites three verses from the middle of the song (c095af0d-3137-4653-ad32-bfb899eda24c)
    • lyrics -> recites the whole song (20921bc9-cc52-4627-80b3-198cbbfcf9b7)
  • docs: instructions unsynced: two-fer
  • metadata: unsynced: two-fer
  • docs: instructions unsynced: variable-length-quantity
  • word-count: missing 2 test cases
    • with apostrophes (4ff6c7d7-fcfc-43ef-b8e7-34ff1837a2d3)
    • quotation for word with apostrophe (6d00f1db-901c-4bec-9829-d20eb3044557)
  • docs: instructions unsynced: wordy
@tomasnorre
Copy link
Contributor

Would it be possible to create the issues automatically with the GitHub API?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants