summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Test.hs8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/Test.hs b/test/Test.hs
index f8a8729..f451c75 100644
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -5,8 +5,8 @@ module Test where
import Data.Array
import Data.Attoparsec.ByteString.Char8
import Data.ByteString.Char8 (pack)
-
import Data.Either
+import Data.Function
import Data.List
import Data.Maybe
@@ -107,5 +107,11 @@ prop_not_in_check_twice = atAnyTwoStates (\b1 b2 ->
not (check Black b1 && check Black b2) &&
not (check White b1 && check White b2))
+prop_dont_touch_my_pieces :: PGN -> Bool
+prop_dont_touch_my_pieces = atAnyTwoStates (\b1 b2 -> notMoved (turn b2) b1 b2)
+ where
+ notMoved :: Color -> Board -> Board -> Bool
+ notMoved c = (==) `on` pieceCoords (Just c) Nothing
+
return []
main = $forAllProperties (quickCheckWithResult (stdArgs {maxSuccess=10000}))