packages feed

hgeometry-0.7.0.0: test/Data/Geometry/LineSegmentSpec.hs

{-# LANGUAGE ScopedTypeVariables #-}
module Data.Geometry.LineSegmentSpec where

import           Data.Ext
import           Data.Geometry
import           Test.Hspec
import           Test.QuickCheck.HGeometryInstances ()

spec :: Spec
spec =
  describe "onSegment" $
    it "handles zero length segments correctly" $ do
        let zeroSegment :: LineSegment 2 () Rational
            zeroSegment = ClosedLineSegment (Point2 0 0 :+ ()) (Point2 0 0 :+ ())
        (Point2 0 0 `onSegment` zeroSegment) `shouldBe` True
        (Point2 1 0 `onSegment` zeroSegment) `shouldBe` False