about summary refs log tree commit diff
path: root/test
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2019-09-20T23·38-0400
committerGriffin Smith <root@gws.fyi>2019-09-20T23·38-0400
commitdd1616666593f65bab70f1363b5d040fe5edd054 (patch)
tree4009c7004ad2becd2b316c9212a8c778a8c646ce /test
parent4db3a68efec079bdb8723f377929bfa05860bdc2 (diff)
Describe what you see when you walk over items
Every step the character takes, describe the entities at that position
excluding the character.
Diffstat (limited to 'test')
-rw-r--r--test/Spec.hs2
-rw-r--r--test/Xanthous/Util/InflectionSpec.hs18
2 files changed, 20 insertions, 0 deletions
diff --git a/test/Spec.hs b/test/Spec.hs
index cac474053c..7af988a3d7 100644
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -7,6 +7,7 @@ import qualified Xanthous.Generators.UtilSpec
 import qualified Xanthous.MessageSpec
 import qualified Xanthous.OrphansSpec
 import qualified Xanthous.Util.GraphicsSpec
+import qualified Xanthous.Util.InflectionSpec
 
 main :: IO ()
 main = defaultMain test
@@ -21,4 +22,5 @@ test = testGroup "Xanthous"
   , Xanthous.OrphansSpec.test
   , Xanthous.DataSpec.test
   , Xanthous.Util.GraphicsSpec.test
+  , Xanthous.Util.InflectionSpec.test
   ]
diff --git a/test/Xanthous/Util/InflectionSpec.hs b/test/Xanthous/Util/InflectionSpec.hs
new file mode 100644
index 0000000000..fad8410431
--- /dev/null
+++ b/test/Xanthous/Util/InflectionSpec.hs
@@ -0,0 +1,18 @@
+module Xanthous.Util.InflectionSpec (main, test) where
+
+import Test.Prelude
+import Xanthous.Util.Inflection
+
+main :: IO ()
+main = defaultMain test
+
+test :: TestTree
+test = testGroup "Xanthous.Util.Inflection"
+  [ testGroup "toSentence"
+    [ testCase "empty"  $ toSentence [] @?= ""
+    , testCase "single" $ toSentence ["x"] @?= "x"
+    , testCase "two"    $ toSentence ["x", "y"] @?= "x and y"
+    , testCase "three"  $ toSentence ["x", "y", "z"] @?= "x, y, and z"
+    , testCase "four"   $ toSentence ["x", "y", "z", "w"] @?= "x, y, z, and w"
+    ]
+  ]