expiring-cache-map-0.0.5.3: tests/TestOrdECMWithTestSequence.hs
{-# LANGUAGE OverloadedStrings #-}
module TestOrdECMWithTestSequence (
testWithTestSequence
) where
import Caching.ExpiringCacheMap.OrdECM (newECMForM, lookupECM, CacheSettings(..), consistentDuration)
import qualified Caching.ExpiringCacheMap.Utils.TestSequence as TestSeq
import TestECMWithTestSequenceCommon
import qualified Data.ByteString.Char8 as BS
import System.Exit (exitFailure)
testWithTestSequence = do
(TestSeq.TestSequenceState (_, events', _), return_value) <- TestSeq.runTestSequence test'
(TestSeq.TestSequenceState (_, events'', _), return_value) <- TestSeq.runTestSequence test''
(TestSeq.TestSequenceState (_, events''', _), return_value) <- TestSeq.runTestSequence test'''
(TestSeq.TestSequenceState (_, events'''', _), return_value) <- TestSeq.runTestSequence test''''
if pattern' (filt events') &&
pattern'' (filt events'') &&
pattern''' (filt events''') &&
pattern'''' (filt events'''')
then do
putStrLn "Passed TestOrdECMWithTestSequence"
-- printOutEvents events' events'' events''' events''''
return ()
else do
printOutFailedPattern "TestOrdECMWithTestSequence.testWithTestSequence"
(filt events') (filt events'') (filt events''') (filt events'''')
printOutEvents events' events'' events''' events''''
exitFailure
where
filt = filter someEventsOnly . reverse
commonreadnumber =
(\state _id -> do number <- TestSeq.readNumber
return (state, number))
newTestECM valreq timecheck =
newECMForM valreq
(TestSeq.getCurrentTime >>= return)
timecheck
(CacheWithLRUList 6 6 12)
TestSeq.newTestSVar TestSeq.enterTestSVar TestSeq.readTestSVar
test' = do
filecache <- newTestECM
(consistentDuration 100 commonreadnumber) -- Duration between access and expiry time
12000 -- Time check frequency
testLookups (lookupECM filecache)
test'' = do
filecache <- newTestECM
(consistentDuration 100 commonreadnumber) -- Duration between access and expiry time
1 -- Time check frequency
testLookups (lookupECM filecache)
test''' = do
filecache <- newTestECM
(consistentDuration 1 commonreadnumber) -- Duration between access and expiry time
12000 -- Time check frequency
testLookups (lookupECM filecache)
test'''' = do
filecache <- newTestECM
(consistentDuration 1 commonreadnumber) -- Duration between access and expiry time
1 -- Time check frequency
testLookups (lookupECM filecache)
-- main = testWithTestSequence