!5%     Safe=?_!  microspecTweak how tests are run, with  . microspecgNumber of seconds before each test times out. If you want to do this on a per-test basis, try  microspec&Arguments to use with QuickCheck tests microspecSomething which can be testedgNote both Bools and Properties can be tested, but only Properties show the values that weren't equal^For both unit tests and property tests, if you want to see the outputs of failed tests use 0. If you just want to test for equality, use .$For example, the outputs of running:  microspec $ do describe "baddies" $ do it "isn't 1 ==" $ 0 == (1 :: Int) it "isn't 1 ===" $ 0 === (1 :: Int) it "isn't always 1 ==" $ x -> x == (1 :: Int) it "isn't always 1 ===" $ x -> x === (1 :: Int) are:  isn't 1 == - *** Failed! Falsifiable (after 1 test) isn't 1 === - *** Failed! Falsifiable (after 1 test): | 0 /= 1 isn't always 1 == - *** Failed! Falsifiable (after 1 test): | 0 isn't always 1 === - *** Failed! Falsifiable (after 1 test): | 0 | 0 /= 1  microspecDescribe a test, e.g.: >describe "reverse 'foo' is 'oof'" $ reverse "foo" === "oof" microspecA series of tests, to run with  microspec#Describe a test as unwritten, e.g.: $describe "meaning of life" $ pending microspec/Run your spec. Put this at the top level, e.g.: >main = microspec $ do describe "plus 1" $ 3 + 1 === 4  microspec with   microspec An alias for . Usually used inside a  block:  describe "replicate" $ do it "doubles with 2" $ replicate 2 'x' === "xx" it "creates a list of the right size" $ \(Positive n) -> length (replicate n 'x') === n  microspec^Default arguments. Calling "microspec" is the same as calling "microspecWith defaultMArgs".  microspec)Hspec compatibility. Equivalent to using   microspec microspec<Note that you don't need to use this to create a test, e.g.: Ndescribe "reverse preserves length" $ \l -> length (reverse l) === length l  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~               !"#$%$&$'$()*)+),)-).)/)012131415161718191:1;1<1=1>1?1@1ABCBDBEBFBGBHBIBJBKBLBMBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhijklmnopqrstuvwxyz{|}~     (microspec-0.2.1.2-6hZt4AHrY3i8mkNvWKVGL2Test.MicrospecTest.QuickCheck.PropertywithinMArgs_mArgs_timeoutSecs _mArgs_qcArgs MTestabledescribe Microspecpending microspec microspecWithit defaultMArgsshouldBe shouldSatisfyprop$fShowTestTree$fMonadMicrospec$fApplicativeMicrospec$fFunctorMicrospec $fMTestable->$fMTestableMicrospec$fMTestablePending$fMTestableTestTree$fMTestableBool$fMTestableProperty$fShowResultCounts $fShowMArgs $fReadMArgs*QuickCheck-2.12.6.1-4a6Ozz7bfHzLQyA4XOD1Dc===ghc-prim GHC.Classes==Test.QuickCheck.FeatureslabelledExamplesWithResultlabelledExamplesResultlabelledExamplesWithlabelledExamplesTest.QuickCheck.AllverboseCheckAll quickCheckAll allPropertiesforAllProperties monomorphicpolyVerboseCheckpolyQuickCheckTest.QuickCheck.MonadicrunSTGen monadicST monadicIOmonadic'monadicmonitorforAllMwppickrunpreassertstop PropertyM MkPropertyM unPropertyMTest.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckquickCheckWithResultquickCheckResultquickCheckWith quickCheckstdArgs isSuccessArgsreplay maxSuccessmaxDiscardRatiomaxSizechatty maxShrinksResultSuccessGaveUpFailureNoExpectedFailurenumTests numDiscardedlabelsclassestablesoutput numShrinksnumShrinkTriesnumShrinkFinalusedSeedusedSizereason theExceptionfailingTestCase failingLabelsfailingClassestotal=/=disjoin.||.conjoin.&&..&.forAllShrinkBlindforAllShrinkShow forAllShrink forAllBlind forAllShowforAll==> coverTabletabulatecoverclassifycollectlabel stdConfidencecheckCoverageWith checkCoveragewithMaxSuccessagainonce expectFailureverboseShrinkingverbose whenFail'whenFail printTestCasecounterexample noShrinking shrinkingmapSizeidempotentIOProperty ioPropertyPropertyTestablepropertyDiscardTest.QuickCheck.State Confidence certainty toleranceTest.QuickCheck.Function applyFun3 applyFun2applyFun functionMap functionShowfunctionIntegralfunctionRealFracfunctionBoundedEnumFnFn2Fn3FunctionfunctionFunTest.QuickCheck.ModifiersBlindgetBlindFixedgetFixed OrderedListOrdered getOrdered NonEmptyListNonEmpty getNonEmpty InfiniteListgetInfiniteListinfiniteListInternalData SortedListSorted getSortedPositive getPositiveNonZero getNonZero NonNegativegetNonNegativeLargegetLargeSmallgetSmallShrink2 getShrink2Smart Shrinking ShrinkState shrinkInit shrinkState ASCIIStringgetASCIIString UnicodeStringgetUnicodeStringPrintableStringgetPrintableStringTest.QuickCheck.Arbitrary infiniteList orderedListvectorcoarbitraryEnumcoarbitraryShowcoarbitraryRealcoarbitraryIntegral><genericCoarbitrary shrinkDecimalshrinkRealFracshrinkIntegral shrinkMapBy shrinkMap shrinkNothingarbitraryPrintableChararbitraryASCIIChararbitraryUnicodeChararbitrarySizedBoundedIntegralarbitraryBoundedEnumarbitraryBoundedRandomarbitraryBoundedIntegralarbitrarySizedFractionalarbitrarySizedNaturalarbitrarySizedIntegralapplyArbitrary4applyArbitrary3applyArbitrary2 shrinkListsubtermsrecursivelyShrink genericShrinkshrink2 arbitrary2shrink1 arbitrary1 Arbitrary arbitraryshrink Arbitrary1 liftArbitrary liftShrink Arbitrary2liftArbitrary2 liftShrink2 CoArbitrary coarbitraryTest.QuickCheck.GeninfiniteListOfvectorOflistOf1listOfgrowingElementsshuffle sublistOfelements frequencyoneof suchThatMaybe suchThatMapsuchThatsamplesample'generatechoosescaleresizegetSizesizedvariantGenTest.QuickCheck.Exceptiondiscard