NMWWP4ZNOKHZKSJ6F5KYEREWXXR5F4UD35WOKI3EH42AZWVCTCJAC TJEUE7TYDFZQL4E5LUVEEIPOIM3AN3PCV4NWODGDCOXSN4KON74QC ADMKQQGCGVSHHIMVQ4XFRDCG544SBJCYALSKZV45CQQBZ4ACUH2AC EQXRXRZDYCM7BDAVBOXQYPG6C7IJT3OFGNIXCDAHJJBRKAXNGL7AC Y35QCWYW2OTZ27ZVTH2BA3XJTUCJ2WMLKU32ZCOCDY3AW7TIZXRAC 2KZPOGRBY6KBMO76F55ZKIVOLSG3O63VP3RHRZVANXYT3OLZ3OWQC NVOCQVASZWTKQJG7GPH7KHKZZR7NUG4WLV5YY4KAIRPCJRWCZPIAC N4NDAZYTLSI2W22KT3SYXL257DBMSH3UT2BXOYM7LH7FSZAY4RLAC import Control.Monadimport Control.Arrowimport Anankeimport Ananke.TimeLog as Limport Ananke.Interval as Iimport Data.Time.ISO8601
deriveIntervalsTest :: AssertionderiveIntervalsTest = lettestAddrs = catMaybes [ parseBtcAddr "123", parseBtcAddr "456", parseBtcAddr "789" ]
spec :: Specspec = dodescribe "log reduction" $ doit "reduces a log to a work index" $ dolet testAddrs = catMaybes [ parseBtcAddr "123", parseBtcAddr "456", parseBtcAddr "789" ]
testLogEntries :: [LogEntry]testLogEntries = doaddr <- testAddrs(start, end) <- zip starts ends[ LogEntry addr (StartWork start), LogEntry addr (StopWork end) ]
testLogEntries :: [LogEntry]testLogEntries = doaddr <- testAddrs(start, end) <- zip starts ends[ LogEntry addr (StartWork start), LogEntry addr (StopWork end) ]
testIntervals :: [LogInterval]testIntervals = doaddr <- testAddrs(start, end) <- zip starts endsreturn $ LogInterval addr (I.interval start end)
testIntervals :: [LogInterval]testIntervals = doaddr <- testAddrs(start, end) <- zip starts endsreturn $ LogInterval addr (I.interval start end)
expected0 :: Map BtcAddr ([LogEntry], [LogInterval])expected0 = M.map (const [] &&& id) . fromListWith (++) . fmap (intervalBtcAddr &&& return) $ testIntervals
expected0 :: Map BtcAddr ([LogEntry], [LogInterval])expected0 = M.map (const [] &&& id) . fromListWith (++) . fmap (intervalBtcAddr &&& return) $ testIntervals
{-# OPTIONS_GHC -F -pgmF hspec-discover #-}