edit-0.0.1.0: tests/Data/EditSpec.hs
{-# LANGUAGE ViewPatterns #-}
module Data.EditSpec where
import Data.Edit
import Test.QuickCheck.Function
prop_EditApplicativeIdentity :: Edit Int -> Bool
prop_EditApplicativeIdentity v = (pure id <*> v) == v
prop_EditApplicativeComposition
:: Edit (Fun Int Int) -> Edit (Fun Int Int) -> Edit Int -> Bool
prop_EditApplicativeComposition (fmap apply -> u) (fmap apply -> v) w
= (pure (.) <*> u <*> v <*> w) == (u <*> (v <*> w))