generic-random-0.3.0.0: test/Test/Tree.hs
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
module Test.Tree where
import Data.Data ( Data )
import GHC.Generics ( Generic )
import Test.QuickCheck
import Generic.Random.Generic
data T = L | N T T
deriving (Eq, Ord, Show, Data, Generic)
size :: T -> Int
size (N l r) = 1 + size l + size r
size L = 0
instance Arbitrary T where
arbitrary = genericArbitraryFrequency [9, 8]