module Signet.Unstable.Extra.MaybeTest where import qualified Data.Void as Void import qualified Signet.Unstable.Extra.Maybe as Maybe import qualified Signet.Unstable.Extra.Tasty as Tasty import Test.Tasty.HUnit ((@?=)) spec :: Tasty.Spec spec :: Spec spec = TestName -> Spec -> Spec Tasty.describe TestName "Signet.Unstable.Extra.Maybe" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do TestName -> Spec -> Spec Tasty.describe TestName "note" (Spec -> Spec) -> Spec -> Spec forall a b. (a -> b) -> a -> b $ do TestName -> Assertion -> Spec Tasty.it TestName "works with nothing" (Assertion -> Spec) -> Assertion -> Spec forall a b. (a -> b) -> a -> b $ do () -> Maybe Void -> Either () Void forall e a. e -> Maybe a -> Either e a Maybe.note () (Maybe Void forall a. Maybe a Nothing :: Maybe Void.Void) Either () Void -> Either () Void -> Assertion forall a. (Eq a, Show a, HasCallStack) => a -> a -> Assertion @?= () -> Either () Void forall a b. a -> Either a b Left () TestName -> Assertion -> Spec Tasty.it TestName "works with just" (Assertion -> Spec) -> Assertion -> Spec forall a b. (a -> b) -> a -> b $ do () -> Maybe Bool -> Either () Bool forall e a. e -> Maybe a -> Either e a Maybe.note () (Bool -> Maybe Bool forall a. a -> Maybe a Just Bool True) Either () Bool -> Either () Bool -> Assertion forall a. (Eq a, Show a, HasCallStack) => a -> a -> Assertion @?= Bool -> Either () Bool forall a b. b -> Either a b Right Bool True