Created explicit types for fail messages
Created explicit types for fail messages

By creating explicit ShouldMessage and ShouldNotMessage types, a matcher
can no longer be compiled if the order of the two have been switched.

PeteProgrammer/fspec,PeteProgrammer/fspec