!4T%      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<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{|}~                !"#"$"%"&'(')'*'+','-'./0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?@A@B@C@D@E@F@G@H@I@J@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@efghijklmnopqrstuvwxyz{|}~     (microspec-0.2.0.1-5FyEEVNEu9xIWuOnULWlwFTest.MicrospecTest.QuickCheck.PropertywithinMArgs_mArgs_timeoutSecs _mArgs_qcArgs MTestabledescribe Microspecpending microspec microspecWithit defaultMArgsshouldBeprop$fShowTestTree$fMonadMicrospec$fApplicativeMicrospec$fFunctorMicrospec$fMTestable(->)$fMTestableMicrospec$fMTestablePending$fMTestableTestTree$fMTestableBool$fMTestableProperty $fShowMArgs $fReadMArgs'QuickCheck-2.12.2-j5HhAX33BzHJctDmquJDW===ghc-prim GHC.Classes==Test.QuickCheck.FeatureslabelledExamplesWithResultlabelledExamplesResultlabelledExamplesWithlabelledExamplesTest.QuickCheck.AllverboseCheckAll quickCheckAll allPropertiesforAllProperties monomorphicpolyVerboseCheckpolyQuickCheckTest.QuickCheck.MonadicrunSTGen monadicST monadicIOmonadic'monadicmonitorforAllMwppickrunpreassertstop PropertyM MkPropertyM unPropertyMTest.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckquickCheckWithResultquickCheckResultquickCheckWith quickCheckstdArgsArgsreplay 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><genericCoarbitraryshrinkRealFracshrinkIntegral 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