It is totally unclear from the description that the color of the top of the border should be set to a random color instead of the default "null" when the component is actually mounted, so this should at least be stated explicitly in the description.
But actually, the "random color" thing does not seem to add much value to this Kata and is IMO rather distracting. Perhaps consider removing it altogether?
Needs "true" random tests, on top of the current mocked Math.random() values
Needs more fixed tests and random tests. For example, try simulating input values of different length and see if selection on clicking works properly to prevent hardcoding.
Offline listener was tested but online listener should be tested as well.
Needs more fixed tests on top of the random tests @FArekkusu mentioned.
Added the note about translations and approved as 5 kyu
OK, I'll agree to approve it as 5 kyu on the grounds that it will not be accepting Coq and Lean (and Agda?) translations.
This Kata should only be approved at white level (i.e. 7-8 kyu) since it only covers the fundamentals of propositional logic.
Opening this as an Issue to prevent approval, until the average assessed rank drops to 7 kyu or below.
Solutions leveraging Haskell's tolerance for incomplete pattern matching and lack of termination check to provide an incomplete/invalid proof are accepted. See this solution for an example, which only provides the proof for the case n = 0, m = 0.
n = 0, m = 0
Anyway, now that we already have Coq, Agda and Lean support for well over a year, why are we still using Haskell for theorem proving? Perhaps this effort could be better spent on re-ranking "Cubical Agda" to move Agda out of Beta and close Codewars/codewars.com#2030 once and for all, or migrating the remaining Lean Kata to Lean 3.20.x so we can request support for the latest Lean version ;-)
Also see this solution. Anyway, why are we still using Haskell for theorem proving, when we already have Coq, Agda and Lean? ;-)
Ah, I see, I'll ping @monadius about it