packages feed

interpolation-0.1.1.2: test/Test/Numeric/Interpolation/Piece.hs

-- Do not edit! Automatically created with doctest-extract from src/Numeric/Interpolation/Piece.hs
{-# LINE 10 "src/Numeric/Interpolation/Piece.hs" #-}

module Test.Numeric.Interpolation.Piece where

import qualified Test.DocTest.Driver as DocTest

{-# LINE 11 "src/Numeric/Interpolation/Piece.hs" #-}
import     qualified Numeric.Interpolation.Piece as Piece
import     qualified Numeric.Interpolation.Private.Piece as PiecePriv
import     qualified Test.QuickCheck as QC
import     Test.QuickCheck ((==>))

forAllDistinctPoints     ::
       (Show a, QC.Arbitrary a, QC.Testable prop) =>
       ((Rational, a) -> (Rational, a) -> prop) -> QC.Property
forAllDistinctPoints     f =
       QC.forAll QC.arbitrary $ \p1@(x1,_) ->
       QC.forAll QC.arbitrary $ \p2@(x2,_) ->
          x1/=x2  ==>  f p1 p2

test :: DocTest.T ()
test = do
 DocTest.printPrefix "Numeric.Interpolation.Piece:26: "
{-# LINE 26 "src/Numeric/Interpolation/Piece.hs" #-}
 DocTest.property
{-# LINE 26 "src/Numeric/Interpolation/Piece.hs" #-}
     (forAllDistinctPoints $ \p1 p2 x -> Piece.linear p1 p2 x == Piece.linear p2 p1 x)
 DocTest.printPrefix "Numeric.Interpolation.Piece:35: "
{-# LINE 35 "src/Numeric/Interpolation/Piece.hs" #-}
 DocTest.property
{-# LINE 35 "src/Numeric/Interpolation/Piece.hs" #-}
     (forAllDistinctPoints $ \p1 p2 x -> Piece.hermite1 p1 p2 x == Piece.hermite1 p2 p1 x)
 DocTest.printPrefix "Numeric.Interpolation.Piece:36: "
{-# LINE 36 "src/Numeric/Interpolation/Piece.hs" #-}
 DocTest.property
{-# LINE 36 "src/Numeric/Interpolation/Piece.hs" #-}
     (forAllDistinctPoints $ \p1@(x1,y1) p2@(x2,y2) x -> Piece.linear p1 p2 x == let slope = (y2-y1)/(x2-x1) in Piece.hermite1 (x1, (y1,slope)) (x2, (y2,slope)) x)
 DocTest.printPrefix "Numeric.Interpolation.Piece:37: "
{-# LINE 37 "src/Numeric/Interpolation/Piece.hs" #-}
 DocTest.property
{-# LINE 37 "src/Numeric/Interpolation/Piece.hs" #-}
     (forAllDistinctPoints $ \p1 p2 x -> Piece.hermite1 p1 p2 x == PiecePriv.hermite1 p1 p2 x)