-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Utility functions for testing implementations of the math-programming library. -- -- Please see the README on GitHub at -- https://github.com/prsteele/math-programming-api-tests#readme @package math-programming-tests @version 0.4.0 module Math.Programming.Tests.Api makeApiTests :: (Num (Numeric m), MonadIO m, LPMonad m) => (m () -> IO ()) -> TestTree -- | We should be able to set and retrieve variable names setGetVariableName :: (MonadIO m, LPMonad m) => m () -- | We should be able to set and retrieve constraint names setGetConstraintName :: (Num (Numeric m), MonadIO m, LPMonad m) => m () data Action AddVariable :: Action AddConstraint :: Action AddThenDeleteVariable :: Action AddThenDeleteConstraint :: Action newtype LPActions m LPActions :: m () -> LPActions m lpActions :: LPMonad m => Int -> Gen (m ()) -- | Execute the monadic bind (>>=), with some other actions taken in -- between. bindOver :: Monad m => m a -> (a -> m b) -> m () -> m b arbitraryLPActionsProp :: LPActions m -> m () instance GHC.Show.Show Math.Programming.Tests.Api.Action instance GHC.Enum.Enum Math.Programming.Tests.Api.Action instance Math.Programming.Types.LPMonad m => Test.QuickCheck.Arbitrary.Arbitrary (Math.Programming.Tests.Api.LPActions m) instance Test.QuickCheck.Arbitrary.Arbitrary Math.Programming.Tests.Api.Action module Math.Programming.Tests.IP makeIPTests :: (PrintfArg (Numeric m), RealFrac (Numeric m), MonadIO m, IPMonad m) => (m () -> IO ()) -> TestTree -- | We solve a simple MIP of the form -- --
-- min x + y -- s.t. x >= 1.1 -- y >= 1.1 -- 0 <= x <= 5 -- 0 <= y <= 5 -- x integer ---- -- The optimal solution to this MIP is x = 2, y = 1.1. simpleMIPTest :: (PrintfArg (Numeric m), RealFrac (Numeric m), MonadIO m, IPMonad m) => m () module Math.Programming.Tests.LP makeLPTests :: (PrintfArg (Numeric m), RealFrac (Numeric m), MonadIO m, LPMonad m) => (m () -> IO ()) -> TestTree data Food Corn :: Food Milk :: Food Bread :: Food data Nutrient Calories :: Nutrient VitaminA :: Nutrient dietProblemTest :: forall m. (PrintfArg (Numeric m), RealFrac (Numeric m), MonadIO m, LPMonad m) => m () instance GHC.Show.Show Math.Programming.Tests.LP.Nutrient instance GHC.Read.Read Math.Programming.Tests.LP.Nutrient instance GHC.Classes.Ord Math.Programming.Tests.LP.Nutrient instance GHC.Classes.Eq Math.Programming.Tests.LP.Nutrient instance GHC.Show.Show Math.Programming.Tests.LP.Food instance GHC.Read.Read Math.Programming.Tests.LP.Food instance GHC.Classes.Ord Math.Programming.Tests.LP.Food instance GHC.Classes.Eq Math.Programming.Tests.LP.Food module Math.Programming.Tests makeAllTests :: (PrintfArg (Numeric m), RealFrac (Numeric m), MonadIO m, IPMonad m) => String -> (m () -> IO ()) -> TestTree