SwiftCheck is a Swift port of the QuickCheck testing library.
QuickCheck-style tests are created as properties of a program one expects to hold under a number of values of a given type. SwiftCheck will then attempt to generate as much data as it can to falsify that particular property. If all is well, nothing happens. But, if a test case fails, SwiftCheck will attempt to shrink down to a minimal failing example before the test case fails as a whole thus simplifying the process of debugging that property.