Skip to content

Commit

Permalink
Add tests.toml file for all exercises with canonical data (#916)
Browse files Browse the repository at this point in the history
  • Loading branch information
ErikSchierboom authored Nov 15, 2020
1 parent 4651442 commit 28aa243
Show file tree
Hide file tree
Showing 91 changed files with 4,182 additions and 0 deletions.
28 changes: 28 additions & 0 deletions exercises/acronym/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[canonical-tests]

# basic
"1e22cceb-c5e4-4562-9afe-aef07ad1eaf4" = true

# lowercase words
"79ae3889-a5c0-4b01-baf0-232d31180c08" = true

# punctuation
"ec7000a7-3931-4a17-890e-33ca2073a548" = true

# all caps word
"32dd261c-0c92-469a-9c5c-b192e94a63b0" = true

# punctuation without whitespace
"ae2ac9fa-a606-4d05-8244-3bcc4659c1d4" = true

# very long abbreviation
"0e4b1e7c-1a6d-48fb-81a7-bf65eb9e69f9" = true

# consecutive delimiters
"6a078f49-c68d-4b7b-89af-33a1a98c28cc" = true

# apostrophes
"5118b4b1-4572-434c-8d57-5b762e57973e" = true

# underscore emphasis
"adc12eab-ec2d-414f-b48c-66a4fc06cdef" = true
64 changes: 64 additions & 0 deletions exercises/all-your-base/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
[canonical-tests]

# single bit one to decimal
"5ce422f9-7a4b-4f44-ad29-49c67cb32d2c" = true

# binary to single decimal
"0cc3fea8-bb79-46ac-a2ab-5a2c93051033" = true

# single decimal to binary
"f12db0f9-0d3d-42c2-b3ba-e38cb375a2b8" = true

# binary to multiple decimal
"2c45cf54-6da3-4748-9733-5a3c765d925b" = true

# decimal to binary
"65ddb8b4-8899-4fcc-8618-181b2cf0002d" = true

# trinary to hexadecimal
"8d418419-02a7-4824-8b7a-352d33c6987e" = true

# hexadecimal to trinary
"d3901c80-8190-41b9-bd86-38d988efa956" = true

# 15-bit integer
"5d42f85e-21ad-41bd-b9be-a3e8e4258bbf" = true

# empty list
"d68788f7-66dd-43f8-a543-f15b6d233f83" = true

# single zero
"5e27e8da-5862-4c5f-b2a9-26c0382b6be7" = true

# multiple zeros
"2e1c2573-77e4-4b9c-8517-6c56c5bcfdf2" = true

# leading zeros
"3530cd9f-8d6d-43f5-bc6e-b30b1db9629b" = true

# input base is one
"a6b476a1-1901-4f2a-92c4-4d91917ae023" = true

# input base is zero
"e21a693a-7a69-450b-b393-27415c26a016" = true

# input base is negative
"54a23be5-d99e-41cc-88e0-a650ffe5fcc2" = true

# negative digit
"9eccf60c-dcc9-407b-95d8-c37b8be56bb6" = true

# invalid positive digit
"232fa4a5-e761-4939-ba0c-ed046cd0676a" = true

# output base is one
"14238f95-45da-41dc-95ce-18f860b30ad3" = true

# output base is zero
"73dac367-da5c-4a37-95fe-c87fad0a4047" = true

# output base is negative
"13f81f42-ff53-4e24-89d9-37603a48ebd9" = true

# both bases are negative
"0e6c895d-8a5d-4868-a345-309d094cfe8d" = true
153 changes: 153 additions & 0 deletions exercises/allergies/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
[canonical-tests]

# Haskell's testing strategy is to use property tests
# instead of explicitly listing all the cases in problem-specifications.
# For this reason, the tests below are marked as true.
# They're covered by the property tests.

# not allergic to anything
"17fc7296-2440-4ac4-ad7b-d07c321bc5a0" = true

# allergic only to eggs
"07ced27b-1da5-4c2e-8ae2-cb2791437546" = true

# allergic to eggs and something else
"5035b954-b6fa-4b9b-a487-dae69d8c5f96" = true

# allergic to something, but not eggs
"64a6a83a-5723-4b5b-a896-663307403310" = true

# allergic to everything
"90c8f484-456b-41c4-82ba-2d08d93231c6" = true

# not allergic to anything
"d266a59a-fccc-413b-ac53-d57cb1f0db9d" = true

# allergic only to peanuts
"ea210a98-860d-46b2-a5bf-50d8995b3f2a" = true

# allergic to peanuts and something else
"eac69ae9-8d14-4291-ac4b-7fd2c73d3a5b" = true

# allergic to something, but not peanuts
"9152058c-ce39-4b16-9b1d-283ec6d25085" = true

# allergic to everything
"d2d71fd8-63d5-40f9-a627-fbdaf88caeab" = true

# not allergic to anything
"b948b0a1-cbf7-4b28-a244-73ff56687c80" = true

# allergic only to shellfish
"9ce9a6f3-53e9-4923-85e0-73019047c567" = true

# allergic to shellfish and something else
"b272fca5-57ba-4b00-bd0c-43a737ab2131" = true

# allergic to something, but not shellfish
"21ef8e17-c227-494e-8e78-470a1c59c3d8" = true

# allergic to everything
"cc789c19-2b5e-4c67-b146-625dc8cfa34e" = true

# not allergic to anything
"651bde0a-2a74-46c4-ab55-02a0906ca2f5" = true

# allergic only to strawberries
"b649a750-9703-4f5f-b7f7-91da2c160ece" = true

# allergic to strawberries and something else
"50f5f8f3-3bac-47e6-8dba-2d94470a4bc6" = true

# allergic to something, but not strawberries
"23dd6952-88c9-48d7-a7d5-5d0343deb18d" = true

# allergic to everything
"74afaae2-13b6-43a2-837a-286cd42e7d7e" = true

# not allergic to anything
"c49a91ef-6252-415e-907e-a9d26ef61723" = true

# allergic only to tomatoes
"b69c5131-b7d0-41ad-a32c-e1b2cc632df8" = true

# allergic to tomatoes and something else
"1ca50eb1-f042-4ccf-9050-341521b929ec" = true

# allergic to something, but not tomatoes
"e9846baa-456b-4eff-8025-034b9f77bd8e" = true

# allergic to everything
"b2414f01-f3ad-4965-8391-e65f54dad35f" = true

# not allergic to anything
"978467ab-bda4-49f7-b004-1d011ead947c" = true

# allergic only to chocolate
"59cf4e49-06ea-4139-a2c1-d7aad28f8cbc" = true

# allergic to chocolate and something else
"b0a7c07b-2db7-4f73-a180-565e07040ef1" = true

# allergic to something, but not chocolate
"f5506893-f1ae-482a-b516-7532ba5ca9d2" = true

# allergic to everything
"02debb3d-d7e2-4376-a26b-3c974b6595c6" = true

# not allergic to anything
"17f4a42b-c91e-41b8-8a76-4797886c2d96" = true

# allergic only to pollen
"7696eba7-1837-4488-882a-14b7b4e3e399" = true

# allergic to pollen and something else
"9a49aec5-fa1f-405d-889e-4dfc420db2b6" = true

# allergic to something, but not pollen
"3cb8e79f-d108-4712-b620-aa146b1954a9" = true

# allergic to everything
"1dc3fe57-7c68-4043-9d51-5457128744b2" = true

# not allergic to anything
"d3f523d6-3d50-419b-a222-d4dfd62ce314" = true

# allergic only to cats
"eba541c3-c886-42d3-baef-c048cb7fcd8f" = true

# allergic to cats and something else
"ba718376-26e0-40b7-bbbe-060287637ea5" = true

# allergic to something, but not cats
"3c6dbf4a-5277-436f-8b88-15a206f2d6c4" = true

# allergic to everything
"1faabb05-2b98-4995-9046-d83e4a48a7c1" = true

# no allergies
"f9c1b8e7-7dc5-4887-aa93-cebdcc29dd8f" = true

# just eggs
"9e1a4364-09a6-4d94-990f-541a94a4c1e8" = true

# just peanuts
"8851c973-805e-4283-9e01-d0c0da0e4695" = true

# just strawberries
"2c8943cb-005e-435f-ae11-3e8fb558ea98" = true

# eggs and peanuts
"6fa95d26-044c-48a9-8a7b-9ee46ec32c5c" = true

# more than eggs but not peanuts
"19890e22-f63f-4c5c-a9fb-fb6eacddfe8e" = true

# lots of stuff
"4b68f470-067c-44e4-889f-c9fe28917d2f" = true

# everything
"0881b7c5-9efa-4530-91bd-68370d054bc7" = true

# no allergen score parts
"12ce86de-b347-42a0-ab7c-2e0570f0c65b" = true
31 changes: 31 additions & 0 deletions exercises/alphametics/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[canonical-tests]

# puzzle with three letters
"e0c08b07-9028-4d5f-91e1-d178fead8e1a" = true

# solution must have unique value for each letter
"a504ee41-cb92-4ec2-9f11-c37e95ab3f25" = true

# leading zero solution is invalid
"4e3b81d2-be7b-4c5c-9a80-cd72bc6d465a" = true

# puzzle with two digits final carry
"8a3e3168-d1ee-4df7-94c7-b9c54845ac3a" = true

# puzzle with four letters
"a9630645-15bd-48b6-a61e-d85c4021cc09" = true

# puzzle with six letters
"3d905a86-5a52-4e4e-bf80-8951535791bd" = true

# puzzle with seven letters
"4febca56-e7b7-4789-97b9-530d09ba95f0" = true

# puzzle with eight letters
"12125a75-7284-4f9a-a5fa-191471e0d44f" = true

# puzzle with ten letters
"fb05955f-38dc-477a-a0b6-5ef78969fffa" = true

# puzzle with ten letters and 199 addends
"9a101e81-9216-472b-b458-b513a7adacf7" = true
45 changes: 45 additions & 0 deletions exercises/anagram/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[canonical-tests]

# no matches
"dd40c4d2-3c8b-44e5-992a-f42b393ec373" = true

# detects two anagrams
"b3cca662-f50a-489e-ae10-ab8290a09bdc" = true

# does not detect anagram subsets
"a27558ee-9ba0-4552-96b1-ecf665b06556" = true

# detects anagram
"64cd4584-fc15-4781-b633-3d814c4941a4" = true

# detects three anagrams
"99c91beb-838f-4ccd-b123-935139917283" = true

# TODO: Add to this track.
# detects multiple anagrams with different case
# "78487770-e258-4e1f-a646-8ece10950d90" = true

# does not detect non-anagrams with identical checksum
"1d0ab8aa-362f-49b7-9902-3d0c668d557b" = true

# detects anagrams case-insensitively
"9e632c0b-c0b1-4804-8cc1-e295dea6d8a8" = true

# detects anagrams using case-insensitive subject
"b248e49f-0905-48d2-9c8d-bd02d8c3e392" = true

# detects anagrams using case-insensitive possible matches
"f367325c-78ec-411c-be76-e79047f4bd54" = true

# does not detect an anagram if the original word is repeated
"7cc195ad-e3c7-44ee-9fd2-d3c344806a2c" = true

# anagrams must use all letters exactly once
"9878a1c9-d6ea-4235-ae51-3ea2befd6842" = true

# words are not anagrams of themselves (case-insensitive)
"85757361-4535-45fd-ac0e-3810d40debc1" = true

# TODO: Add to this track.
# words other than themselves can be anagrams
# "a0705568-628c-4b55-9798-82e4acde51ca" = true
28 changes: 28 additions & 0 deletions exercises/armstrong-numbers/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[canonical-tests]

# Zero is an Armstrong number
"c1ed103c-258d-45b2-be73-d8c6d9580c7b" = true

# Single digit numbers are Armstrong numbers
"579e8f03-9659-4b85-a1a2-d64350f6b17a" = true

# There are no 2 digit Armstrong numbers
"2d6db9dc-5bf8-4976-a90b-b2c2b9feba60" = true

# Three digit number that is an Armstrong number
"509c087f-e327-4113-a7d2-26a4e9d18283" = true

# Three digit number that is not an Armstrong number
"7154547d-c2ce-468d-b214-4cb953b870cf" = true

# Four digit number that is an Armstrong number
"6bac5b7b-42e9-4ecb-a8b0-4832229aa103" = true

# Four digit number that is not an Armstrong number
"eed4b331-af80-45b5-a80b-19c9ea444b2e" = true

# Seven digit number that is an Armstrong number
"f971ced7-8d68-4758-aea1-d4194900b864" = true

# Seven digit number that is not an Armstrong number
"7ee45d52-5d35-4fbd-b6f1-5c8cd8a67f18" = true
43 changes: 43 additions & 0 deletions exercises/atbash-cipher/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[canonical-tests]

# encode yes
"2f47ebe1-eab9-4d6b-b3c6-627562a31c77" = true

# encode no
"b4ffe781-ea81-4b74-b268-cc58ba21c739" = true

# encode OMG
"10e48927-24ab-4c4d-9d3f-3067724ace00" = true

# encode spaces
"d59b8bc3-509a-4a9a-834c-6f501b98750b" = true

# encode mindblowingly
"31d44b11-81b7-4a94-8b43-4af6a2449429" = true

# encode numbers
"d503361a-1433-48c0-aae0-d41b5baa33ff" = true

# encode deep thought
"79c8a2d5-0772-42d4-b41b-531d0b5da926" = true

# encode all the letters
"9ca13d23-d32a-4967-a1fd-6100b8742bab" = true

# decode exercism
"bb50e087-7fdf-48e7-9223-284fe7e69851" = true

# decode a sentence
"ac021097-cd5d-4717-8907-b0814b9e292c" = true

# decode numbers
"18729de3-de74-49b8-b68c-025eaf77f851" = true

# decode all the letters
"0f30325f-f53b-415d-ad3e-a7a4f63de034" = true

# decode with too many spaces
"39640287-30c6-4c8c-9bac-9d613d1a5674" = true

# decode with no spaces
"b34edf13-34c0-49b5-aa21-0768928000d5" = true
Loading

0 comments on commit 28aa243

Please sign in to comment.