{-| Module: Test.Postgres.Point Copyright: (c) digitally induced GmbH, 2021 -} module Test.Postgres.Point where import Data.Either import Test.Hspec import Test.Postgres.Support () import IHP.Postgres.Point import Database.PostgreSQL.Simple.ToField import qualified Data.Attoparsec.ByteString.Char8 as Attoparsec tests = do let raw = "(100,200)" let parsed = Point { x = 100.0, y = 200.0 } let serialized = Many [ Plain "point(", Plain "100.0", Plain ",", Plain "200.0",Plain ")" ] describe "Point" do describe "Parser" do it "Should Parse" do Attoparsec.parseOnly parsePoint raw `shouldBe` Right parsed describe "Serializer" do it "Should Serialize" do serializePoint parsed `shouldBe` serialized