module Data.Text.ParagraphLayout.RectSpec (spec) where import Data.Int (Int32) import Test.Hspec import Data.Text.ParagraphLayout.Internal.Rect positiveRect :: Rect Int32 positiveRect = Rect 50 (-70) 10 10 negativeRect :: Rect Int32 negativeRect = Rect 80 (-75) (-15) (-15) spec :: Spec spec = do describe "union of two rects" $ do let r = union positiveRect negativeRect it "has origin at 50,-60" $ (x_origin r, y_origin r) `shouldBe` (50, -60) it "has minimum coordinates at at 50,-90" $ (x_min r, y_min r) `shouldBe` (50, -90) it "has terminus at 80,-90" $ (x_terminus r, y_terminus r) `shouldBe` (80, -90) it "has maximum coordinates at 80,-60" $ (x_max r, y_max r) `shouldBe` (80, -60) it "has size 30,-30" $ (x_size r, y_size r) `shouldBe` (30, -30) it "has absolute size 30,30" $ (width r, height r) `shouldBe` (30, 30)