packages feed

test-framework-skip-1.0: tests.hs

{-# LANGUAGE ScopedTypeVariables #-}

import Data.List (sort)

import Test.Framework
import Test.Framework.Skip
import Test.Framework.Providers.HUnit
import qualified Test.Framework.Providers.QuickCheck2 as Q
import qualified Test.Framework.Providers.SmallCheck as S
import Test.HUnit

main = defaultMain
    [testGroup "skip"
        [skip $ testCase "testCase" $ assertBool "This is totally going to fail..." False
        ,skip $ testGroup "testGroup"
            [testCase "child testCase" $ error "Did I do that?"
            ,Q.testProperty "child testProperty (quickcheck)" (\(x :: Int) -> x * 0 == x)
            ,S.testProperty "child testProperty (smallcheck)" (\(x :: Int) -> x * 0 == x)
            ]
        ,skip $ Q.testProperty "testProperty (quickcheck)" (\(x :: [Int]) -> x == sort x)
        ,skip $ S.testProperty "testProperty (smallcheck)" (\(x :: [Int]) -> x == sort x)
        ]
    ,skipTestCase "skipTestCase" $ assertFailure "Uh oh, I failed!"
    ,skipTestGroup "skipTestGroup"
        [testCase "child testCase" $ assertFailure "I would be so ashamed if somebody noticed me failing!"
        ,Q.testProperty "child testProperty (quickcheck)" False
        ,S.testProperty "child testProperty (smallcheck)" False
        ,testGroup "child testGroup"
            [Q.testProperty "grandchild testProperty (quickcheck)" False
            ,S.testProperty "grandchild testProperty (smallcheck)" False
            ,testCase "grandchild testCase" $ False @?= True
            ]
        ]
    ,skipTestProperty "skipTestProperty" (\(x :: Int) -> x /= x)
    ]