!2"$     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;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\]^_`abcdefghijklmnopqrstuvwxyzz{|{}{~{{{{{{{{(microspec-0.2.0.0-3CHhqfqeYRh81iexH5MOzvTest.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.11.3-58QsvdIMmwDDNaUIIDmLAr===ghc-prim GHC.Classes==Test.QuickCheck.AllverboseCheckAll quickCheckAll allPropertiesforAllProperties monomorphicpolyVerboseCheckpolyQuickCheckTest.QuickCheck.MonadicrunSTGen monadicST monadicIOmonadic'monadicmonitorforAllMwppickrunpreassertstop PropertyM MkPropertyM unPropertyMTest.QuickCheck.TestverboseCheckWithResultverboseCheckResultverboseCheckWith verboseCheckquickCheckWithResultquickCheckResultquickCheckWith quickCheckstdArgsArgsreplay maxSuccessmaxDiscardRatiomaxSizechatty maxShrinksResultSuccessGaveUpFailureNoExpectedFailureInsufficientCoveragelabelsreason theExceptionnumTestsoutput numShrinksnumShrinkTriesnumShrinkFinalusedSeedusedSizefailingTestCasetotaldisjoin.||.conjoin.&&..&. forAllShrinkforAll==>coverclassifycollectlabelwithMaxSuccessagainonce expectFailureverbose whenFail'whenFail printTestCasecounterexample noShrinking shrinkingmapSize ioPropertyPropertyTestablepropertyDiscardTest.QuickCheck.Function applyFun3 applyFun2applyFun functionMapFnFn2Fn3FunctionfunctionFunTest.QuickCheck.ModifiersBlindgetBlindFixedgetFixed OrderedListOrdered getOrdered NonEmptyListNonEmpty getNonEmpty InfiniteListgetInfiniteListinfiniteListInternalDataPositive 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