{-# LANGUAGE TypeSynonymInstances, FlexibleInstances, StandaloneDeriving #-} module Thermoprint.Server.QueueSpec (spec) where import Test.Hspec import Test.Hspec.QuickCheck (prop) import Thermoprint.Server.Queue import Thermoprint.Server.Database import Thermoprint.API hiding (JobId) import Test.QuickCheck.Arbitrary import Test.QuickCheck.Gen import Test.QuickCheck.Modifiers deriving instance (Eq PrintingError) deriving instance (Eq Queue) spec :: Spec spec = do describe "queue morphisms" $ do prop "are inverse" $ \queue -> queue == toZipper (fromZipper queue)