bishbosh-0.1.1.0: src-test/QuickCheck.hs
{-
Copyright (C) 2018 Dr. Alistair Ward
This file is part of BishBosh.
BishBosh is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
BishBosh is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with BishBosh. If not, see <http://www.gnu.org/licenses/>.
-}
{- |
[@AUTHOR@] Dr. Alistair Ward
[@DESCRIPTION@] The entry-point to the application's QuickCheck test-suite.
-}
module Main(main) where
import qualified BishBosh.Test.QuickCheck.Attribute.Direction as Test.QuickCheck.Attribute.Direction
import qualified BishBosh.Test.QuickCheck.Attribute.LogicalColour as Test.QuickCheck.Attribute.LogicalColour
import qualified BishBosh.Test.QuickCheck.Attribute.MoveType as Test.QuickCheck.Attribute.MoveType
import qualified BishBosh.Test.QuickCheck.Attribute.Rank as Test.QuickCheck.Attribute.Rank
import qualified BishBosh.Test.QuickCheck.Cartesian.Coordinates as Test.QuickCheck.Cartesian.Coordinates
import qualified BishBosh.Test.QuickCheck.Cartesian.Vector as Test.QuickCheck.Cartesian.Vector
import qualified BishBosh.Test.QuickCheck.Component.Move as Test.QuickCheck.Component.Move
import qualified BishBosh.Test.QuickCheck.Component.Piece as Test.QuickCheck.Component.Piece
import qualified BishBosh.Test.QuickCheck.Component.QualifiedMove as Test.QuickCheck.Component.QualifiedMove
import qualified BishBosh.Test.QuickCheck.Component.Turn as Test.QuickCheck.Component.Turn
import qualified BishBosh.Test.QuickCheck.Component.Zobrist as Test.QuickCheck.Component.Zobrist
import qualified BishBosh.Test.QuickCheck.ContextualNotation.PGN as Test.QuickCheck.ContextualNotation.PGN
import qualified BishBosh.Test.QuickCheck.ContextualNotation.PGNComment as Test.QuickCheck.ContextualNotation.PGNComment
import qualified BishBosh.Test.QuickCheck.ContextualNotation.PositionHashQualifiedMoveTree as Test.QuickCheck.ContextualNotation.PositionHashQualifiedMoveTree
import qualified BishBosh.Test.QuickCheck.ContextualNotation.QualifiedMoveForest as Test.QuickCheck.ContextualNotation.QualifiedMoveForest
import qualified BishBosh.Test.QuickCheck.ContextualNotation.StandardAlgebraic as Test.QuickCheck.ContextualNotation.StandardAlgebraic
import qualified BishBosh.Test.QuickCheck.Data.Foldable as Test.QuickCheck.Data.Foldable
import qualified BishBosh.Test.QuickCheck.Data.Integral as Test.QuickCheck.Data.Integral
import qualified BishBosh.Test.QuickCheck.Evaluation.PositionHashQuantifiedGameTree as Test.QuickCheck.Evaluation.PositionHashQuantifiedGameTree
import qualified BishBosh.Test.QuickCheck.Input.CriteriaWeights as Test.QuickCheck.Input.CriteriaWeights
import qualified BishBosh.Test.QuickCheck.Input.EvaluationOptions as Test.QuickCheck.Input.EvaluationOptions
import qualified BishBosh.Test.QuickCheck.Input.Options as Test.QuickCheck.Input.Options
import qualified BishBosh.Test.QuickCheck.Input.PieceSquareTable as Test.QuickCheck.Input.PieceSquareTable
import qualified BishBosh.Test.QuickCheck.Metric.RankValue as Test.QuickCheck.Metric.RankValue
import qualified BishBosh.Test.QuickCheck.Model.Game as Test.QuickCheck.Model.Game
import qualified BishBosh.Test.QuickCheck.Model.GameTree as Test.QuickCheck.Model.GameTree
import qualified BishBosh.Test.QuickCheck.Model.MoveFrequency as Test.QuickCheck.Model.MoveFrequency
import qualified BishBosh.Test.QuickCheck.Notation.ICCFNumeric as Test.QuickCheck.Notation.ICCFNumeric
import qualified BishBosh.Test.QuickCheck.Notation.PureCoordinate as Test.QuickCheck.Notation.PureCoordinate
import qualified BishBosh.Test.QuickCheck.Notation.Smith as Test.QuickCheck.Notation.Smith
import qualified BishBosh.Test.QuickCheck.Rule.GameTerminationReason as Test.QuickCheck.Rule.GameTerminationReason
import qualified BishBosh.Test.QuickCheck.Rule.Result as Test.QuickCheck.Rule.Result
import qualified BishBosh.Test.QuickCheck.Search.KillerMoves as Test.QuickCheck.Search.KillerMoves
-- import qualified BishBosh.Test.QuickCheck.Search.Search as Test.QuickCheck.Search.Search
import qualified BishBosh.Test.QuickCheck.State.Board as Test.QuickCheck.State.Board
import qualified BishBosh.Test.QuickCheck.State.CastleableRooksByLogicalColour as Test.QuickCheck.State.CastleableRooksByLogicalColour
import qualified BishBosh.Test.QuickCheck.State.InstancesByPosition as Test.QuickCheck.State.InstancesByPosition
import qualified BishBosh.Test.QuickCheck.State.Position as Test.QuickCheck.State.Position
import qualified BishBosh.Test.QuickCheck.StateProperty.Censor as Test.QuickCheck.StateProperty.Censor
import qualified BishBosh.Test.QuickCheck.State.TurnsByLogicalColour as Test.QuickCheck.State.TurnsByLogicalColour
import qualified BishBosh.Test.QuickCheck.Text.Encoding as Test.QuickCheck.Text.Encoding
import qualified BishBosh.Test.QuickCheck.UI.Command as Test.QuickCheck.UI.Command
import qualified BishBosh.Test.QuickCheck.UI.PrintObject as Test.QuickCheck.UI.PrintObject
import qualified BishBosh.Test.QuickCheck.UI.SetObject as Test.QuickCheck.UI.SetObject
import qualified Control.Monad
import qualified System.Exit
import qualified ToolShed.Test.QuickCheck.Result
-- | Entry-point to the test-suite.
main :: IO ()
main = mapM_ (
(`Control.Monad.unless` System.Exit.exitFailure) . all ToolShed.Test.QuickCheck.Result.isSuccessful =<<
) [
Test.QuickCheck.Data.Foldable.results,
Test.QuickCheck.Data.Integral.results,
Test.QuickCheck.Text.Encoding.results,
Test.QuickCheck.Attribute.LogicalColour.results,
Test.QuickCheck.Attribute.Direction.results,
Test.QuickCheck.Attribute.Rank.results,
Test.QuickCheck.Attribute.MoveType.results,
Test.QuickCheck.Input.EvaluationOptions.results,
Test.QuickCheck.Input.Options.results,
Test.QuickCheck.Input.PieceSquareTable.results,
Test.QuickCheck.Cartesian.Coordinates.results,
Test.QuickCheck.Cartesian.Vector.results,
Test.QuickCheck.Component.Piece.results,
Test.QuickCheck.Component.Move.results,
Test.QuickCheck.Component.QualifiedMove.results,
Test.QuickCheck.Component.Turn.results,
Test.QuickCheck.Rule.GameTerminationReason.results,
Test.QuickCheck.Rule.Result.results,
Test.QuickCheck.Notation.ICCFNumeric.results,
Test.QuickCheck.Notation.PureCoordinate.results,
Test.QuickCheck.Notation.Smith.results,
Test.QuickCheck.State.CastleableRooksByLogicalColour.results,
Test.QuickCheck.State.Position.results,
Test.QuickCheck.State.InstancesByPosition.results,
Test.QuickCheck.State.Board.results,
Test.QuickCheck.State.TurnsByLogicalColour.results,
Test.QuickCheck.StateProperty.Censor.results,
Test.QuickCheck.Model.Game.results,
Test.QuickCheck.Model.GameTree.results,
Test.QuickCheck.Model.MoveFrequency.results,
Test.QuickCheck.Component.Zobrist.results,
Test.QuickCheck.ContextualNotation.PositionHashQualifiedMoveTree.results,
Test.QuickCheck.ContextualNotation.StandardAlgebraic.results,
Test.QuickCheck.ContextualNotation.PGNComment.results,
Test.QuickCheck.ContextualNotation.PGN.results,
Test.QuickCheck.ContextualNotation.QualifiedMoveForest.results,
Test.QuickCheck.Input.CriteriaWeights.results,
Test.QuickCheck.Metric.RankValue.results,
Test.QuickCheck.Evaluation.PositionHashQuantifiedGameTree.results,
Test.QuickCheck.Search.KillerMoves.results,
Test.QuickCheck.UI.PrintObject.results,
Test.QuickCheck.UI.SetObject.results,
Test.QuickCheck.UI.Command.results
-- Test.QuickCheck.Search.Search.results
]