packages feed

haslo-0.1.3: HasloQC.hs

---------------------------------------------------------
--
-- Module        : HasloQC
-- Copyright     : Bartosz Wójcik (2012)
-- License       : BSD3
--
-- Maintainer    : bartek@sudety.it
-- Stability     : Unstable
-- Portability   : portable
--
-- Part of haslo. Quick Check of all necessary functions.
---------------------------------------------------------

module Main
where

import Haslo
import Haslo.HasloQCTestL
import Data.IORef
import Data.List
import Data.Time
import Control.Monad.Reader
import Test.QuickCheck


main = do
   putStrLn "Test suite run. It may take up to several minutes time."
   myRun "Checking interest rate" heavyArgs propRate
   myRun "Checking rate conversion" myArgs prop_cEN
   myRun "Checking abstract amortization table" veryHeavyArgs propInstPlan
--   myRun "Checking AMOR T" myArgs propInstPlanM


myRun txt args prop = do
   putStr $ txt ++ " - " ++ show (maxSize args) ++ " random tests"
   putStrLn " ... "
   quickCheckWith args prop

veryHeavyArgs = Args
  { replay     = Nothing
  , maxSuccess = 100000
--  , maxDiscard = 7000
  , maxDiscardRatio = 10
  , maxSize    = 100000
  , chatty     = True
-- noShrinking flag?
  }

heavyArgs = Args
  { replay     = Nothing
  , maxSuccess = 10000
  , maxDiscardRatio = 10
--  , maxDiscard = 7000
  , maxSize    = 10000
  , chatty     = True
-- noShrinking flag?
  }

myArgs = Args
  { replay     = Nothing
  , maxSuccess = 300
  , maxDiscardRatio = 10
--, maxDiscard = 2500
  , maxSize    = 300
  , chatty     = True
-- noShrinking flag?
  }

patientArgs = Args
  { replay     = Nothing
  , maxSuccess = 300
  , maxDiscardRatio = 10
--, maxDiscard = 10000
  , maxSize    = 300
  , chatty     = True
}