std.test

A simple test library.

Types

type Test r a = Writer (List String) r a

type TestEff r a = Eff [| writer : Test | r |] a

type TestEffIO r a = Eff [| writer : Test, lift : Lift IO | r |] a

type TestCase r a = 
    | Test String (() -> Eff [| writer : Test | r |] a)
    | Group String (Array (TestCase r a))

Values

let test : forall a a0 . String -> (() -> Eff [| writer : Test | a |] a0) -> TestCase a a0

let group : forall a a0 . String -> Array (TestCase a a0) -> TestCase a a0

let assert x : Bool -> ()

let assert_eq l r : forall r a . [Show a] -> [Eq a] -> a -> a -> Eff [| writer : Test | r |] ()

let assert_neq l r : forall r a . [Show a] -> [Eq a] -> a -> a -> Eff [| writer : Test | r |] ()

let assert_lt l r : forall r a . [Show a] -> [Ord a] -> a -> a -> Eff [| writer : Test | r |] ()

let assert_lte l r : forall r a . [Show a] -> [Ord a] -> a -> a -> Eff [| writer : Test | r |] ()

let assert_gt l r : forall r a . [Show a] -> [Ord a] -> a -> a -> Eff [| writer : Test | r |] ()

let assert_gte l r : forall r a . [Show a] -> [Ord a] -> a -> a -> Eff [| writer : Test | r |] ()

let assert_some opt : forall r a . Option a -> Eff [| writer : Test | r |] ()

let assert_none opt : forall r a . [Show a] -> Option a -> Eff [| writer : Test | r |] ()

let assert_ok res : forall r a e . [Show e] -> Result e a -> Eff [| writer : Test | r |] ()

let assert_err res : forall r e a . [Show a] -> Result e a -> Eff [| writer : Test | r |] ()

let assert_success : forall a r e .
        [Show e]
            -> Eff [| error : Error e, writer : Test | r |] a
            -> Eff [| writer : Test | r |] ()

let assert_throws : forall r a .
        forall e .
            [Show a]
                -> Eff [| error : Error e, writer : Test | r |] a
                -> Eff [| writer : Test | r |] ()

let run_raw test : forall a r . Eff [| writer : Test | r |] a -> Eff [| | r |] (List String)

let run test : forall a r . Eff [| writer : Test | r |] a -> Eff [| | r |] ()

let run_io test : forall a r . TestEffIO r a -> IO ()