diff --git a/exercises/practice/allergies/.meta/config.json b/exercises/practice/allergies/.meta/config.json index e2bf0556..c82bd6a1 100644 --- a/exercises/practice/allergies/.meta/config.json +++ b/exercises/practice/allergies/.meta/config.json @@ -27,5 +27,5 @@ }, "blurb": "Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.", "source": "Exercise by the JumpstartLab team for students at The Turing School of Software and Design.", - "source_url": "https://turing.edu" + "source_url": "https://www.turing.edu/" } diff --git a/exercises/practice/allergies/.meta/tests.toml b/exercises/practice/allergies/.meta/tests.toml index f87992bb..799ab856 100644 --- a/exercises/practice/allergies/.meta/tests.toml +++ b/exercises/practice/allergies/.meta/tests.toml @@ -1,148 +1,160 @@ -[canonical-tests] +# This is an auto-generated file. +# +# Regenerating this file via `configlet sync` will: +# - Recreate every `description` key/value pair +# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications +# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion) +# - Preserve any other key/value pair +# +# As user-added comments (using the # character) will be removed when this file +# is regenerated, comments can be added via a `comment` key. -# not allergic to anything -"17fc7296-2440-4ac4-ad7b-d07c321bc5a0" = true +[17fc7296-2440-4ac4-ad7b-d07c321bc5a0] +description = "testing for eggs allergy -> not allergic to anything" -# allergic only to eggs -"07ced27b-1da5-4c2e-8ae2-cb2791437546" = true +[07ced27b-1da5-4c2e-8ae2-cb2791437546] +description = "testing for eggs allergy -> allergic only to eggs" -# allergic to eggs and something else -"5035b954-b6fa-4b9b-a487-dae69d8c5f96" = true +[5035b954-b6fa-4b9b-a487-dae69d8c5f96] +description = "testing for eggs allergy -> allergic to eggs and something else" -# allergic to something, but not eggs -"64a6a83a-5723-4b5b-a896-663307403310" = true +[64a6a83a-5723-4b5b-a896-663307403310] +description = "testing for eggs allergy -> allergic to something, but not eggs" -# allergic to everything -"90c8f484-456b-41c4-82ba-2d08d93231c6" = true +[90c8f484-456b-41c4-82ba-2d08d93231c6] +description = "testing for eggs allergy -> allergic to everything" -# not allergic to anything -"d266a59a-fccc-413b-ac53-d57cb1f0db9d" = true +[d266a59a-fccc-413b-ac53-d57cb1f0db9d] +description = "testing for peanuts allergy -> not allergic to anything" -# allergic only to peanuts -"ea210a98-860d-46b2-a5bf-50d8995b3f2a" = true +[ea210a98-860d-46b2-a5bf-50d8995b3f2a] +description = "testing for peanuts allergy -> allergic only to peanuts" -# allergic to peanuts and something else -"eac69ae9-8d14-4291-ac4b-7fd2c73d3a5b" = true +[eac69ae9-8d14-4291-ac4b-7fd2c73d3a5b] +description = "testing for peanuts allergy -> allergic to peanuts and something else" -# allergic to something, but not peanuts -"9152058c-ce39-4b16-9b1d-283ec6d25085" = true +[9152058c-ce39-4b16-9b1d-283ec6d25085] +description = "testing for peanuts allergy -> allergic to something, but not peanuts" -# allergic to everything -"d2d71fd8-63d5-40f9-a627-fbdaf88caeab" = true +[d2d71fd8-63d5-40f9-a627-fbdaf88caeab] +description = "testing for peanuts allergy -> allergic to everything" -# not allergic to anything -"b948b0a1-cbf7-4b28-a244-73ff56687c80" = true +[b948b0a1-cbf7-4b28-a244-73ff56687c80] +description = "testing for shellfish allergy -> not allergic to anything" -# allergic only to shellfish -"9ce9a6f3-53e9-4923-85e0-73019047c567" = true +[9ce9a6f3-53e9-4923-85e0-73019047c567] +description = "testing for shellfish allergy -> allergic only to shellfish" -# allergic to shellfish and something else -"b272fca5-57ba-4b00-bd0c-43a737ab2131" = true +[b272fca5-57ba-4b00-bd0c-43a737ab2131] +description = "testing for shellfish allergy -> allergic to shellfish and something else" -# allergic to something, but not shellfish -"21ef8e17-c227-494e-8e78-470a1c59c3d8" = true +[21ef8e17-c227-494e-8e78-470a1c59c3d8] +description = "testing for shellfish allergy -> allergic to something, but not shellfish" -# allergic to everything -"cc789c19-2b5e-4c67-b146-625dc8cfa34e" = true +[cc789c19-2b5e-4c67-b146-625dc8cfa34e] +description = "testing for shellfish allergy -> allergic to everything" -# not allergic to anything -"651bde0a-2a74-46c4-ab55-02a0906ca2f5" = true +[651bde0a-2a74-46c4-ab55-02a0906ca2f5] +description = "testing for strawberries allergy -> not allergic to anything" -# allergic only to strawberries -"b649a750-9703-4f5f-b7f7-91da2c160ece" = true +[b649a750-9703-4f5f-b7f7-91da2c160ece] +description = "testing for strawberries allergy -> allergic only to strawberries" -# allergic to strawberries and something else -"50f5f8f3-3bac-47e6-8dba-2d94470a4bc6" = true +[50f5f8f3-3bac-47e6-8dba-2d94470a4bc6] +description = "testing for strawberries allergy -> allergic to strawberries and something else" -# allergic to something, but not strawberries -"23dd6952-88c9-48d7-a7d5-5d0343deb18d" = true +[23dd6952-88c9-48d7-a7d5-5d0343deb18d] +description = "testing for strawberries allergy -> allergic to something, but not strawberries" -# allergic to everything -"74afaae2-13b6-43a2-837a-286cd42e7d7e" = true +[74afaae2-13b6-43a2-837a-286cd42e7d7e] +description = "testing for strawberries allergy -> allergic to everything" -# not allergic to anything -"c49a91ef-6252-415e-907e-a9d26ef61723" = true +[c49a91ef-6252-415e-907e-a9d26ef61723] +description = "testing for tomatoes allergy -> not allergic to anything" -# allergic only to tomatoes -"b69c5131-b7d0-41ad-a32c-e1b2cc632df8" = true +[b69c5131-b7d0-41ad-a32c-e1b2cc632df8] +description = "testing for tomatoes allergy -> allergic only to tomatoes" -# allergic to tomatoes and something else -"1ca50eb1-f042-4ccf-9050-341521b929ec" = true +[1ca50eb1-f042-4ccf-9050-341521b929ec] +description = "testing for tomatoes allergy -> allergic to tomatoes and something else" -# allergic to something, but not tomatoes -"e9846baa-456b-4eff-8025-034b9f77bd8e" = true +[e9846baa-456b-4eff-8025-034b9f77bd8e] +description = "testing for tomatoes allergy -> allergic to something, but not tomatoes" -# allergic to everything -"b2414f01-f3ad-4965-8391-e65f54dad35f" = true +[b2414f01-f3ad-4965-8391-e65f54dad35f] +description = "testing for tomatoes allergy -> allergic to everything" -# not allergic to anything -"978467ab-bda4-49f7-b004-1d011ead947c" = true +[978467ab-bda4-49f7-b004-1d011ead947c] +description = "testing for chocolate allergy -> not allergic to anything" -# allergic only to chocolate -"59cf4e49-06ea-4139-a2c1-d7aad28f8cbc" = true +[59cf4e49-06ea-4139-a2c1-d7aad28f8cbc] +description = "testing for chocolate allergy -> allergic only to chocolate" -# allergic to chocolate and something else -"b0a7c07b-2db7-4f73-a180-565e07040ef1" = true +[b0a7c07b-2db7-4f73-a180-565e07040ef1] +description = "testing for chocolate allergy -> allergic to chocolate and something else" -# allergic to something, but not chocolate -"f5506893-f1ae-482a-b516-7532ba5ca9d2" = true +[f5506893-f1ae-482a-b516-7532ba5ca9d2] +description = "testing for chocolate allergy -> allergic to something, but not chocolate" -# allergic to everything -"02debb3d-d7e2-4376-a26b-3c974b6595c6" = true +[02debb3d-d7e2-4376-a26b-3c974b6595c6] +description = "testing for chocolate allergy -> allergic to everything" -# not allergic to anything -"17f4a42b-c91e-41b8-8a76-4797886c2d96" = true +[17f4a42b-c91e-41b8-8a76-4797886c2d96] +description = "testing for pollen allergy -> not allergic to anything" -# allergic only to pollen -"7696eba7-1837-4488-882a-14b7b4e3e399" = true +[7696eba7-1837-4488-882a-14b7b4e3e399] +description = "testing for pollen allergy -> allergic only to pollen" -# allergic to pollen and something else -"9a49aec5-fa1f-405d-889e-4dfc420db2b6" = true +[9a49aec5-fa1f-405d-889e-4dfc420db2b6] +description = "testing for pollen allergy -> allergic to pollen and something else" -# allergic to something, but not pollen -"3cb8e79f-d108-4712-b620-aa146b1954a9" = true +[3cb8e79f-d108-4712-b620-aa146b1954a9] +description = "testing for pollen allergy -> allergic to something, but not pollen" -# allergic to everything -"1dc3fe57-7c68-4043-9d51-5457128744b2" = true +[1dc3fe57-7c68-4043-9d51-5457128744b2] +description = "testing for pollen allergy -> allergic to everything" -# not allergic to anything -"d3f523d6-3d50-419b-a222-d4dfd62ce314" = true +[d3f523d6-3d50-419b-a222-d4dfd62ce314] +description = "testing for cats allergy -> not allergic to anything" -# allergic only to cats -"eba541c3-c886-42d3-baef-c048cb7fcd8f" = true +[eba541c3-c886-42d3-baef-c048cb7fcd8f] +description = "testing for cats allergy -> allergic only to cats" -# allergic to cats and something else -"ba718376-26e0-40b7-bbbe-060287637ea5" = true +[ba718376-26e0-40b7-bbbe-060287637ea5] +description = "testing for cats allergy -> allergic to cats and something else" -# allergic to something, but not cats -"3c6dbf4a-5277-436f-8b88-15a206f2d6c4" = true +[3c6dbf4a-5277-436f-8b88-15a206f2d6c4] +description = "testing for cats allergy -> allergic to something, but not cats" -# allergic to everything -"1faabb05-2b98-4995-9046-d83e4a48a7c1" = true +[1faabb05-2b98-4995-9046-d83e4a48a7c1] +description = "testing for cats allergy -> allergic to everything" -# no allergies -"f9c1b8e7-7dc5-4887-aa93-cebdcc29dd8f" = true +[f9c1b8e7-7dc5-4887-aa93-cebdcc29dd8f] +description = "list when: -> no allergies" -# just eggs -"9e1a4364-09a6-4d94-990f-541a94a4c1e8" = true +[9e1a4364-09a6-4d94-990f-541a94a4c1e8] +description = "list when: -> just eggs" -# just peanuts -"8851c973-805e-4283-9e01-d0c0da0e4695" = true +[8851c973-805e-4283-9e01-d0c0da0e4695] +description = "list when: -> just peanuts" -# just strawberries -"2c8943cb-005e-435f-ae11-3e8fb558ea98" = true +[2c8943cb-005e-435f-ae11-3e8fb558ea98] +description = "list when: -> just strawberries" -# eggs and peanuts -"6fa95d26-044c-48a9-8a7b-9ee46ec32c5c" = true +[6fa95d26-044c-48a9-8a7b-9ee46ec32c5c] +description = "list when: -> eggs and peanuts" -# more than eggs but not peanuts -"19890e22-f63f-4c5c-a9fb-fb6eacddfe8e" = true +[19890e22-f63f-4c5c-a9fb-fb6eacddfe8e] +description = "list when: -> more than eggs but not peanuts" -# lots of stuff -"4b68f470-067c-44e4-889f-c9fe28917d2f" = true +[4b68f470-067c-44e4-889f-c9fe28917d2f] +description = "list when: -> lots of stuff" -# everything -"0881b7c5-9efa-4530-91bd-68370d054bc7" = true +[0881b7c5-9efa-4530-91bd-68370d054bc7] +description = "list when: -> everything" -# no allergen score parts -"12ce86de-b347-42a0-ab7c-2e0570f0c65b" = true +[12ce86de-b347-42a0-ab7c-2e0570f0c65b] +description = "list when: -> no allergen score parts" + +[93c2df3e-4f55-4fed-8116-7513092819cd] +description = "list when: -> no allergen score parts without highest valid score" diff --git a/exercises/practice/allergies/src/test/kotlin/AllergiesTest.kt b/exercises/practice/allergies/src/test/kotlin/AllergiesTest.kt index 4e63d5dc..cfe56312 100644 --- a/exercises/practice/allergies/src/test/kotlin/AllergiesTest.kt +++ b/exercises/practice/allergies/src/test/kotlin/AllergiesTest.kt @@ -180,6 +180,13 @@ class AllergiesTest { 2, listOf(Allergen.PEANUTS)) + @Ignore + @Test + fun `list - just strawberries`() = assertAllergens( + 8, + listOf(Allergen.STRAWBERRIES) + ) + @Ignore @Test fun `list - eggs and peanuts`() = assertAllergens( @@ -209,6 +216,13 @@ class AllergiesTest { fun `list - no allergen score parts`() = assertAllergens( 509, Allergen.values().toList() - Allergen.PEANUTS) + + @Ignore + @Test + fun `list - no allergen score parts without highest valid score`() = assertAllergens( + 257, + listOf(Allergen.EGGS) + ) } private fun assertIsAllergic(score: Int, allergen: Allergen) = assertTrue(Allergies(score).isAllergicTo(allergen))