Yampa-0.9.2: tests/AFRPTestsWFG.hs
{- $Id: AFRPTestsWFG.hs,v 1.2 2003/11/10 21:28:58 antony Exp $
******************************************************************************
* A F R P *
* *
* Module: AFRPTestsWFG *
* Purpose: Test cases for wave-form generation *
* Authors: Antony Courtney and Henrik Nilsson *
* *
* Copyright (c) Yale University, 2003 *
* *
******************************************************************************
-}
module AFRPTestsWFG (wfg_tr, wfg_trs) where
import FRP.Yampa
import FRP.Yampa.Internals (Event(NoEvent, Event))
import AFRPTestsCommon
------------------------------------------------------------------------------
-- Test cases for wave-form generation
------------------------------------------------------------------------------
wfg_inp1 = deltaEncode 1.0 $
[NoEvent, NoEvent, Event 1.0, NoEvent,
Event 2.0, NoEvent, NoEvent, NoEvent,
Event 3.0, Event 4.0, Event 4.0, NoEvent,
Event 0.0, NoEvent, NoEvent, NoEvent]
++ repeat NoEvent
wfg_inp2 = deltaEncode 1.0 $
[Event 1.0, NoEvent, NoEvent, NoEvent,
Event 2.0, NoEvent, NoEvent, NoEvent,
Event 3.0, Event 4.0, Event 4.0, NoEvent,
Event 0.0, NoEvent, NoEvent, NoEvent]
++ repeat NoEvent
wfg_t0 :: [Double]
wfg_t0 = take 16 $ embed (hold 99.99) wfg_inp1
wfg_t0r =
[99.99, 99.99, 1.0, 1.0,
2.0, 2.0, 2.0, 2.0,
3.0, 4.0, 4.0, 4.0,
0.0, 0.0, 0.0, 0.0]
wfg_t1 :: [Double]
wfg_t1 = take 16 $ embed (hold 99.99) wfg_inp2
wfg_t1r =
[1.0, 1.0, 1.0, 1.0,
2.0, 2.0, 2.0, 2.0,
3.0, 4.0, 4.0, 4.0,
0.0, 0.0, 0.0, 0.0]
wfg_inp3 = deltaEncode 1.0 $
[Nothing, Nothing, Just 1.0, Just 2.0, Just 3.0,
Just 4.0, Nothing, Nothing, Nothing, Just 3.0,
Just 2.0, Nothing, Just 1.0, Just 0.0, Just 1.0,
Just 2.0, Just 3.0, Nothing, Nothing, Just 4.0]
++ repeat Nothing
wfg_inp4 = deltaEncode 1.0 $
[Just 0.0, Nothing, Just 1.0, Just 2.0, Just 3.0,
Just 4.0, Nothing, Nothing, Nothing, Just 3.0,
Just 2.0, Nothing, Just 1.0, Just 0.0, Just 1.0,
Just 2.0, Just 3.0, Nothing, Nothing, Just 4.0]
++ repeat Nothing
wfg_t2 :: [Double]
wfg_t2 = take 25 $ embed (trackAndHold 99.99) wfg_inp3
wfg_t2r =
[99.99, 99.99, 1.0, 2.0, 3.0,
4.0, 4.0, 4.0, 4.0, 3.0,
2.0, 2.0, 1.0, 0.0, 1.0,
2.0, 3.0, 3.0, 3.0, 4.0,
4.0, 4.0, 4.0, 4.0, 4.0]
wfg_t3 :: [Double]
wfg_t3 = take 25 $ embed (trackAndHold 99.99) wfg_inp4
wfg_t3r =
[0.0, 0.0, 1.0, 2.0, 3.0,
4.0, 4.0, 4.0, 4.0, 3.0,
2.0, 2.0, 1.0, 0.0, 1.0,
2.0, 3.0, 3.0, 3.0, 4.0,
4.0, 4.0, 4.0, 4.0, 4.0]
wfg_trs =
[ wfg_t0 ~= wfg_t0r,
wfg_t1 ~= wfg_t1r,
wfg_t2 ~= wfg_t2r,
wfg_t3 ~= wfg_t3r
]
wfg_tr = and wfg_trs