module Saturn.Unstable.Extra.IntSpec where import qualified Saturn.Unstable.Extra.Int as Int import qualified Test.Hspec as Hspec spec :: Hspec.Spec spec :: Spec spec = forall a. HasCallStack => String -> SpecWith a -> SpecWith a Hspec.describe String "Saturn.Unstable.Extra.Int" forall a b. (a -> b) -> a -> b $ do forall a. HasCallStack => String -> SpecWith a -> SpecWith a Hspec.describe String "fromWord8" forall a b. (a -> b) -> a -> b $ do forall a. (HasCallStack, Example a) => String -> a -> SpecWith (Arg a) Hspec.it String "works" forall a b. (a -> b) -> a -> b $ do Word8 -> Int Int.fromWord8 Word8 0 forall a. (HasCallStack, Show a, Eq a) => a -> a -> Expectation `Hspec.shouldBe` Int 0 forall a. HasCallStack => String -> SpecWith a -> SpecWith a Hspec.describe String "toWord8" forall a b. (a -> b) -> a -> b $ do forall a. (HasCallStack, Example a) => String -> a -> SpecWith (Arg a) Hspec.it String "succeeds with minimum" forall a b. (a -> b) -> a -> b $ do Int -> Maybe Word8 Int.toWord8 Int 0 forall a. (HasCallStack, Show a, Eq a) => a -> a -> Expectation `Hspec.shouldBe` forall a. a -> Maybe a Just Word8 0 forall a. (HasCallStack, Example a) => String -> a -> SpecWith (Arg a) Hspec.it String "succeeds with maximum" forall a b. (a -> b) -> a -> b $ do Int -> Maybe Word8 Int.toWord8 Int 255 forall a. (HasCallStack, Show a, Eq a) => a -> a -> Expectation `Hspec.shouldBe` forall a. a -> Maybe a Just Word8 255 forall a. (HasCallStack, Example a) => String -> a -> SpecWith (Arg a) Hspec.it String "fails below minimum" forall a b. (a -> b) -> a -> b $ do Int -> Maybe Word8 Int.toWord8 (-Int 1) forall a. (HasCallStack, Show a, Eq a) => a -> a -> Expectation `Hspec.shouldBe` forall a. Maybe a Nothing forall a. (HasCallStack, Example a) => String -> a -> SpecWith (Arg a) Hspec.it String "fails above maximum" forall a b. (a -> b) -> a -> b $ do Int -> Maybe Word8 Int.toWord8 Int 256 forall a. (HasCallStack, Show a, Eq a) => a -> a -> Expectation `Hspec.shouldBe` forall a. Maybe a Nothing