aboutsummaryrefslogtreecommitdiff
path: root/server/test
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2016-02-11 22:05:12 +0000
committerGregor Kleen <gkleen@yggdrasil.li>2016-02-11 22:05:12 +0000
commit7de330ea4fa17a0e1ba2eb33e4440545dc6be93a (patch)
treea70bd209ab69883964f8ba1b3c1667b13580758c /server/test
parenta86e55bbcc6d5b23ab11312d3ca94a745bea5ed9 (diff)
downloadthermoprint-7de330ea4fa17a0e1ba2eb33e4440545dc6be93a.tar
thermoprint-7de330ea4fa17a0e1ba2eb33e4440545dc6be93a.tar.gz
thermoprint-7de330ea4fa17a0e1ba2eb33e4440545dc6be93a.tar.bz2
thermoprint-7de330ea4fa17a0e1ba2eb33e4440545dc6be93a.tar.xz
thermoprint-7de330ea4fa17a0e1ba2eb33e4440545dc6be93a.zip
Test for zipper morphisms
Diffstat (limited to 'server/test')
-rw-r--r--server/test/Spec.hs1
-rw-r--r--server/test/Thermoprint/Server/QueueSpec.hs34
2 files changed, 35 insertions, 0 deletions
diff --git a/server/test/Spec.hs b/server/test/Spec.hs
new file mode 100644
index 0000000..a824f8c
--- /dev/null
+++ b/server/test/Spec.hs
@@ -0,0 +1 @@
{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
diff --git a/server/test/Thermoprint/Server/QueueSpec.hs b/server/test/Thermoprint/Server/QueueSpec.hs
new file mode 100644
index 0000000..fd45e1b
--- /dev/null
+++ b/server/test/Thermoprint/Server/QueueSpec.hs
@@ -0,0 +1,34 @@
1{-# LANGUAGE TypeSynonymInstances, FlexibleInstances, StandaloneDeriving #-}
2
3module Thermoprint.Server.QueueSpec (spec) where
4
5import Test.Hspec
6import Test.Hspec.QuickCheck (prop)
7
8import Thermoprint.Server.Queue
9import Thermoprint.Server.Database
10import Thermoprint.API hiding (JobId)
11
12import Test.QuickCheck.Arbitrary
13import Test.QuickCheck.Gen
14import Test.QuickCheck.Modifiers
15
16deriving instance (Eq PrintingError)
17deriving instance (Eq Queue)
18
19instance Arbitrary Queue where
20 arbitrary = Queue <$> arbitrary <*> arbitrary <*> arbitrary
21
22instance Arbitrary QueueEntry where
23 arbitrary = QueueEntry <$> arbitrary <*> arbitrary
24
25instance Arbitrary PrintingError where
26 arbitrary = oneof [ return UnknownError
27 ]
28
29instance Arbitrary JobId where
30 arbitrary = castId . getNonNegative <$> (arbitrary :: Gen (NonNegative Integer))
31
32spec :: Spec
33spec = do
34 prop "prop_zipper" $ \queue -> queue == toZipper (fromZipper queue)