exercism / problem-specifications

Shared metadata for exercism exercises.
MIT License
326 stars 541 forks source link

Change anagram test case input #2314

Closed olapokon closed 12 months ago

olapokon commented 1 year ago

The input for the anagram function is supposed to be a list containing single word strings, as in all other test cases. This test case has multiple words in the same string, separated by whitespace.

github-actions[bot] commented 1 year ago

Hello. Thanks for opening a PR on Exercism. We are currently in a phase of our journey where we have paused community contributions to allow us to take a breather and redesign our community model. You can learn more in this blog post. As such, all issues and PRs in this repository are being automatically closed.

That doesn't mean we're not interested in your ideas, or that if you're stuck on something we don't want to help. The best place to discuss things is with our community on the Exercism Community Forum. You can use this link to copy this into a new topic there.


Note: If this PR has been pre-approved, please link back to this PR on the forum thread and a maintainer or staff member will reopen it.

olapokon commented 1 year ago

It's true that this change would make this test equivalent to the "words are not anagrams of themselves (case-insensitive)" test. Keeping it as a single string but removing the spaces is another option (the nearest, but not exact, equivalent to this probably is the test case "anagrams must use all letters exactly once").

It could remain as is, but it is a bit weird that this is the only candidate string that has spaces in it, thus making it necessary to account for whitespace in the solution, which doesn't seem to be intended.

ErikSchierboom commented 1 year ago

It could remain as is, but it is a bit weird that this is the only candidate string that has spaces in it, thus making it necessary to account for whitespace in the solution, which doesn't seem to be intended.

I 100% agree with that. Ideally it should be deprecated, but I don't think we yet have a deprecation option. Not sure what the best option would be

olapokon commented 1 year ago

Changing it from "go Go GO" to "goGoGO" would not make the description invalid and there would be no whitespace. But this PR can be closed without making any changes, if you'd prefer to wait until it is possible to deprecate it.

ErikSchierboom commented 1 year ago

Changing it from "go Go GO" to "goGoGO" would not make the description invalid and there would be no whitespace

That would be perfectly fine with me

olapokon commented 1 year ago

I changed it to a single string without whitespace.

ErikSchierboom commented 1 year ago

The final thing left to do is to, instead of mutating the existing test, you create a new test with a reimplements field that contains the UUID of the old test.

olapokon commented 1 year ago

I just generated a UUID for the new test and pasted it, apparently it should adhere to this pattern '^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ Should I just modify it myself or is there some particular way these are generated?

MatthijsBlom commented 1 year ago

configlet uuid can generate these.

olapokon commented 1 year ago

Thanks, I used configlet for the UUID.