Coding, Software Development, Java, Scala, Agile.
card occurs exactly once in a deck. The deal() operation will “know” which cards remain in the deck as it deals multiple hands. That design will model the real world more closely than the current, incomplete design. As a result, the property-based test case can be simplified. One other small thing