{- $Id: AFRPTestsLoopPre.hs,v 1.2 2003/11/10 21:28:58 antony Exp $ ****************************************************************************** * A F R P * * * * Module: AFRPTestsLoopPre * * Purpose: Test cases for loopPre * * Authors: Antony Courtney and Henrik Nilsson * * * * Copyright (c) Yale University, 2003 * * * ****************************************************************************** -} module AFRPTestsLoopPre (loopPre_tr, loopPre_trs) where import FRP.Yampa import AFRPTestsCommon ------------------------------------------------------------------------------ -- Test cases for loopPre ------------------------------------------------------------------------------ loop_acc :: SF (Double, Double) (Double, Double) loop_acc = arr (\(x, y)->(x+y, x+y)) -- This kind of test will fail for infinitesimal delay! loopPre_t0 = testSF1 (loopPre 0 loop_acc) loopPre_t0r = [0.0,1.0,3.0,6.0,10.0,15.0,21.0,28.0,36.0,45.0,55.0,66.0,78.0,91.0, 105.0,120.0,136.0,153.0,171.0,190.0,210.0,231.0,253.0,276.0,300.0] loopPre_t1 = testSF2 (loopPre 0 loop_acc) loopPre_t1r = [0.0,0.0,0.0,0.0,0.0,1.0,2.0,3.0,4.0,5.0,7.0,9.0,11.0,13.0,15.0,18.0, 21.0,24.0,27.0,30.0,34.0,38.0,42.0,46.0,50.0] -- This kind of test will fail for infinitesimal delay! loopPre_t2 = testSF1 (loopPre False (arr (dup . not . snd))) loopPre_t2r = [True,False,True,False,True,False,True,False,True,False,True,False, True,False,True,False,True,False,True,False,True,False,True,False,True] loopPre_t3 = testSF1 (loopPre 0 (first localTime)) loopPre_t3r = [0.0,0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.25,2.5,2.75,3.0,3.25,3.5,3.75, 4.0,4.25,4.5,4.75,5.0,5.25,5.5,5.75,6.0] loopPre_t4 = testSF1 (loopPre 0 (first localTime >>> loop_acc)) loopPre_t4r = [0.0,0.25,0.75,1.5,2.5,3.75,5.25,7.0,9.0,11.25,13.75,16.5,19.5,22.75, 26.25,30.0,34.0,38.25,42.75,47.5,52.5,57.75,63.25,69.0,75.0] loopPre_trs = [ loopPre_t0 ~= loopPre_t0r, loopPre_t1 ~= loopPre_t1r, loopPre_t2 ~= loopPre_t2r, loopPre_t3 ~= loopPre_t3r, loopPre_t4 ~= loopPre_t4r ] loopPre_tr = and loopPre_trs