[
    {
        "name": "ElmTest.Runner.Console",
        "comment": "Run a test suite as a command-line script.\n\n# Run\n@docs runDisplay",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "runDisplay",
                "comment": "Run a list of tests in the IO type from [Max New's Elm IO library](https://github.com/maxsnew/IO/).\nRequires this library to work. Results are printed to console once all tests have completed. Exits with\nexit code 0 if all tests pass, or with code 1 if any tests fail.",
                "type": "Test -> IO ()"
            }
        ],
        "binops": []
    },
    {
        "name": "ElmTest.Runner.Element",
        "comment": "Run a test suite and display it as an Element\n\n# Run\n@docs runDisplay",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "runDisplay",
                "comment": "Runs a list of tests and renders the results as an Element",
                "type": "Test -> Element"
            }
        ],
        "binops": []
    },
    {
        "name": "ElmTest.Runner.String",
        "comment": "Run a test suite and display it as a string.\n\n# Run\n@docs runDisplay, run",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "run",
                "comment": "Undocumented.",
                "type": "Test -> List ( String, Result )"
            },
            {
                "name": "runDisplay",
                "comment": "Runs a test or test suite. Returns the report as a String",
                "type": "Test -> String"
            }
        ],
        "binops": []
    },
    {
        "name": "ElmTest.Run",
        "comment": "Basic utilities for running tests and customizing the output. If you don't care about customizing\nthe output, instead look at the `runDisplay` series in ElmTest.Runner\n\n# Run\n@docs Result, run, pass, fail\n\n# Undocumented\n@docs failedTests, passedTests, failedSuites, passedSuites",
        "unions": [
            {
                "name": "Result",
                "comment": "Test result",
                "args": [],
                "cases": [
                    [
                        "Pass",
                        [
                            "String"
                        ]
                    ],
                    [
                        "Fail",
                        [
                            "String",
                            "String"
                        ]
                    ],
                    [
                        "Report",
                        [
                            "String",
                            "Summary"
                        ]
                    ]
                ]
            }
        ],
        "aliases": [],
        "values": [
            {
                "name": "fail",
                "comment": "Transform a Result into a Bool. True if the result represents a fail, otherwise False",
                "type": "Result -> Bool"
            },
            {
                "name": "failedSuites",
                "comment": "Undocumented.",
                "type": "Result -> Int"
            },
            {
                "name": "failedTests",
                "comment": "Undocumented.",
                "type": "Result -> Int"
            },
            {
                "name": "pass",
                "comment": "Transform a Result into a Bool. True if the result represents a pass, otherwise False",
                "type": "Result -> Bool"
            },
            {
                "name": "passedSuites",
                "comment": "Undocumented.",
                "type": "Result -> Int"
            },
            {
                "name": "passedTests",
                "comment": "Undocumented.",
                "type": "Result -> Int"
            },
            {
                "name": "run",
                "comment": "Run a test and get a Result",
                "type": "Test -> Result"
            }
        ],
        "binops": []
    },
    {
        "name": "ElmTest.Test",
        "comment": "The units of a test suite, named tests.\n\n# Test\n@docs Test, test, equals, defaultTest, suite\n\n# Undocumented\n@docs numberOfTests, numberOfSuites",
        "unions": [
            {
                "name": "Test",
                "comment": "A test case or a suite.",
                "args": [],
                "cases": [
                    [
                        "TestCase",
                        [
                            "String",
                            "Assertion"
                        ]
                    ],
                    [
                        "Suite",
                        [
                            "String",
                            "List Test"
                        ]
                    ]
                ]
            }
        ],
        "aliases": [],
        "values": [
            {
                "name": "defaultTest",
                "comment": "Automatically determines a name for the created test (use this if you're lazy).",
                "type": "Assertion -> Test"
            },
            {
                "name": "equals",
                "comment": "Convenience function for quickly constructing Assert Equals tests.",
                "type": "a -> a -> Test"
            },
            {
                "name": "numberOfSuites",
                "comment": "",
                "type": "Test -> Int"
            },
            {
                "name": "numberOfTests",
                "comment": "",
                "type": "Test -> Int"
            },
            {
                "name": "suite",
                "comment": "Convert a list of `Test`s to a `Suite`. Test suites are used to group tests into\nlogical units, simplifying the management and running of many tests. The `String` is the\nname of the `Suite`.",
                "type": "String -> List Test -> Test"
            },
            {
                "name": "test",
                "comment": "Basic function to create a Test Case",
                "type": "String -> Assertion -> Test"
            }
        ],
        "binops": []
    },
    {
        "name": "ElmTest.Assertion",
        "comment": "The basic component of a test case, an assertion.\n\n# Assert\n@docs Assertion, assertionList, assertT, assert, assertEqual, assertNotEqual",
        "unions": [
            {
                "name": "Assertion",
                "comment": "An assertion.",
                "args": [],
                "cases": [
                    [
                        "AssertTrue",
                        [
                            "() -> Bool"
                        ]
                    ],
                    [
                        "AssertFalse",
                        [
                            "() -> Bool"
                        ]
                    ],
                    [
                        "AssertEqual",
                        [
                            "() -> Bool",
                            "String",
                            "String"
                        ]
                    ],
                    [
                        "AssertNotEqual",
                        [
                            "() -> Bool",
                            "String",
                            "String"
                        ]
                    ]
                ]
            }
        ],
        "aliases": [],
        "values": [
            {
                "name": "assert",
                "comment": "Basic function to create an Assert True assertion. Delays execution until tests are run.",
                "type": "Bool -> Assertion"
            },
            {
                "name": "assertEqual",
                "comment": "Basic function to create an Assert Equals assertion, the expected value goes on the left.",
                "type": "a -> a -> Assertion"
            },
            {
                "name": "assertNotEqual",
                "comment": "Basic function to create an Assert Not Equals assertion.",
                "type": "a -> a -> Assertion"
            },
            {
                "name": "assertT",
                "comment": "Basic function to create an Assert True assertion. Delays execution until tests are run.",
                "type": "(() -> Bool) -> Assertion"
            },
            {
                "name": "assertionList",
                "comment": "Given a list of values and another list of expected values,\ngenerate a list of Assert Equal assertions.",
                "type": "List a -> List a -> List Assertion"
            }
        ],
        "binops": []
    }
]