Yampa-0.10.2: tests/AFRPTestsFirstSecond.hs
{- $Id: AFRPTestsFirstSecond.hs,v 1.2 2003/11/10 21:28:58 antony Exp $
******************************************************************************
* A F R P *
* *
* Module: AFRPTestsArr *
* Purpose: Test cases for first and second *
* Authors: Antony Courtney and Henrik Nilsson *
* *
* Copyright (c) Yale University, 2003 *
* *
******************************************************************************
-}
module AFRPTestsFirstSecond (first_trs, first_tr, second_trs, second_tr) where
import Data.Tuple (swap)
import FRP.Yampa
import AFRPTestsCommon
------------------------------------------------------------------------------
-- Test cases for first
------------------------------------------------------------------------------
first_t0 :: [(Int,Double)]
first_t0 = testSF1 (arr dup >>> first (constant 7))
first_t0r :: [(Int,Double)]
first_t0r =
[(7,0.0), (7,1.0), (7,2.0), (7,3.0), (7,4.0),
(7,5.0), (7,6.0), (7,7.0), (7,8.0), (7,9.0),
(7,10.0), (7,11.0), (7,12.0), (7,13.0), (7,14.0),
(7,15.0), (7,16.0), (7,17.0), (7,18.0), (7,19.0),
(7,20.0), (7,21.0), (7,22.0), (7,23.0), (7,24.0)]
first_t1 :: [(Int,Double)]
first_t1 = testSF2 (arr dup >>> first (constant 7))
first_t1r :: [(Int,Double)]
first_t1r =
[(7,0.0), (7,0.0), (7,0.0), (7,0.0), (7,0.0),
(7,1.0), (7,1.0), (7,1.0), (7,1.0), (7,1.0),
(7,2.0), (7,2.0), (7,2.0), (7,2.0), (7,2.0),
(7,3.0), (7,3.0), (7,3.0), (7,3.0), (7,3.0),
(7,4.0), (7,4.0), (7,4.0), (7,4.0), (7,4.0)]
first_t2 :: [(Double,Double)]
first_t2 = testSF1 (arr dup >>> first (arr (+1)))
first_t2r =
[(1.0,0.0), (2.0,1.0), (3.0,2.0), (4.0,3.0), (5.0,4.0),
(6.0,5.0), (7.0,6.0), (8.0,7.0), (9.0,8.0), (10.0,9.0),
(11.0,10.0), (12.0,11.0), (13.0,12.0), (14.0,13.0), (15.0,14.0),
(16.0,15.0), (17.0,16.0), (18.0,17.0), (19.0,18.0), (20.0,19.0),
(21.0,20.0), (22.0,21.0), (23.0,22.0), (24.0,23.0), (25.0,24.0)]
first_t3 :: [(Double,Double)]
first_t3 = testSF2 (arr dup >>> first (arr (+1)))
first_t3r =
[(1.0,0.0), (1.0,0.0), (1.0,0.0), (1.0,0.0), (1.0,0.0),
(2.0,1.0), (2.0,1.0), (2.0,1.0), (2.0,1.0), (2.0,1.0),
(3.0,2.0), (3.0,2.0), (3.0,2.0), (3.0,2.0), (3.0,2.0),
(4.0,3.0), (4.0,3.0), (4.0,3.0), (4.0,3.0), (4.0,3.0),
(5.0,4.0), (5.0,4.0), (5.0,4.0), (5.0,4.0), (5.0,4.0)]
first_t4 :: [(Double,Double)]
first_t4 = testSF1 (arr dup >>> first integral)
first_t4r =
[(0.0,0.0), (0.0,1.0), (0.25,2.0), (0.75,3.0), (1.5,4.0),
(2.5,5.0), (3.75,6.0), (5.25,7.0), (7.0,8.0), (9.0,9.0),
(11.25,10.0), (13.75,11.0), (16.5,12.0), (19.5,13.0), (22.75,14.0),
(26.25,15.0), (30.0,16.0), (34.0,17.0), (38.25,18.0), (42.75,19.0),
(47.5,20.0), (52.5,21.0), (57.75,22.0), (63.25,23.0), (69.0,24.0)]
first_t5 :: [(Double,Double)]
first_t5 = testSF2 (arr dup >>> first integral)
first_t5r =
[(0.0,0.0), (0.0,0.0), (0.0,0.0), (0.0,0.0), (0.0,0.0),
(0.0,1.0), (0.25,1.0), (0.5,1.0), (0.75,1.0), (1.0,1.0),
(1.25,2.0), (1.75,2.0), (2.25,2.0), (2.75,2.0), (3.25,2.0),
(3.75,3.0), (4.5,3.0), (5.25,3.0), (6.0,3.0), (6.75,3.0),
(7.5,4.0), (8.5,4.0), (9.5,4.0), (10.5,4.0), (11.5,4.0)]
first_trs =
[ first_t0 ~= first_t0r,
first_t1 ~= first_t1r,
first_t2 ~= first_t2r,
first_t3 ~= first_t3r,
first_t4 ~= first_t4r,
first_t5 ~= first_t5r
]
first_tr = and first_trs
------------------------------------------------------------------------------
-- Test cases for second
------------------------------------------------------------------------------
-- These should mirror the test cases for first.
second_t0 :: [(Int,Double)]
second_t0 = testSF1 (arr dup >>> second (constant 7) >>> arr swap)
second_t1 :: [(Int,Double)]
second_t1 = testSF2 (arr dup >>> second (constant 7) >>> arr swap)
second_t2 :: [(Double,Double)]
second_t2 = testSF1 (arr dup >>> second (arr (+1)) >>> arr swap)
second_t3 :: [(Double,Double)]
second_t3 = testSF2 (arr dup >>> second (arr (+1)) >>> arr swap)
second_t4 :: [(Double,Double)]
second_t4 = testSF1 (arr dup >>> second integral >>> arr swap)
second_t5 :: [(Double,Double)]
second_t5 = testSF2 (arr dup >>> second integral >>> arr swap)
second_trs =
[ second_t0 ~= first_t0r,
second_t1 ~= first_t1r,
second_t2 ~= first_t2r,
second_t3 ~= first_t3r,
second_t4 ~= first_t4r,
second_t5 ~= first_t5r
]
second_tr = and second_trs