Implement Arbitrary for Vertex
This commit is contained in:
parent
002b834449
commit
5d956a3d89
|
@ -1,6 +1,7 @@
|
|||
module Main where
|
||||
|
||||
import Control.Monad (join)
|
||||
import Test.QuickCheck (Arbitrary (arbitrary))
|
||||
|
||||
-- | One point of a path, consisting of its \(x\) and \(y\) coordinates.
|
||||
newtype Vertex = Point (Double, Double)
|
||||
|
@ -8,6 +9,12 @@ newtype Vertex = Point (Double, Double)
|
|||
instance Show Vertex where
|
||||
show (Point (x, y)) = show x ++ " " ++ show y
|
||||
|
||||
instance Arbitrary Vertex where
|
||||
arbitrary = do
|
||||
x <- arbitrary
|
||||
y <- arbitrary
|
||||
return (Point (x, y))
|
||||
|
||||
-- | 'fromAngle' @angle@
|
||||
-- creats a point on the unit circle at the specified angle
|
||||
-- (specified in radians).
|
||||
|
|
Reference in a new issue