I was mentoring a student in the Dominoes Exercise on the Crystal track and they submitted an implementation that passed all tests but was still not correct. In essence it allowed to use a domino in its reversed and unreversed form at the same time by only checking if one of the 2 positions matched any of the two other ones. While this would make the existing test fail, checking that [1,2]
is not chainable, the implementation also handled the case of only one domino separately, so this test actually passed.
I would propose adding another test with an expected outcome of false
for the two dominoes [1, 2], [3, 2]
. These are not chainable no matter if they are reversed or not. However, the current solution submitted by the student would just output true
since 2
matches 2
and therefore not pass this test.
I’d be happy to create a PR adjusting problem-specifications/exercises/dominoes/canonical-data.json at main · exercism/problem-specifications · GitHub but I was made aware in Add test to dominoes checking proper reversing by monsterkrampe · Pull Request #697 · exercism/crystal · GitHub that I should raise the issue here first :)
Let me know what you think!