Some observations on developing "random" implementations with Test Driven Development.
Random is "difficult to test" so at a minimum you want at least a seam between random and "complicated code that does something useful with random". You really want all of the weird branching that you are responsible for maintaining to be hidden (in the Parnas 1971 sense) behind some facade that looks like a bits to useful result converter with deterministic behavior.
The one input that you know for certain you'll need to handle gracefully occurs when all of the random bits are false, so unless you have a compelling reason to do something else, your first test should be "what value do we get back if we pass in zero?"
You also need to pick an expected value to be returned. You've got some degrees of freedom available, so you should spend some of them by making the zero case that result with is most convenient to assign to zero.
I normally reach for squashed encoding as my mapping of choice, so for me the zero case is taking the first available option at every decision point. For the Fisher chess problem, each of the bishops is assigned to the first available candidate square. For room asignments in Hunt the Wumpus, the hunter is placed in room 1, the wumpus in room 2, and so on.
In my practice, a single input variable can surface enough duplication that you can start refactoring right away (when I was first learning TDD, I didn't realize this, but Kent pointed out the duplication and the lesson stuck).
But if your practice of TDD doesn't allow you to change your code without a broken test, then the next candidate input value to consider is 1, because you will always need to handle gracefully the case where the least significant bit is true, and everything else is false. And your result of choice will be almost exactly the same as the zero result, with the first branch taken differently.
For Hunt the Wumpus, this might mean switching the room assignments of the hunter and the wumpus, while leaving the rest of the room assignments unchanged.