packages feed

bits-show-0.0.0.0: test/Main.hs

import Test.Hspec

import Bits.Show
import Data.Int
import Data.Word

main = hspec $ do
  describe "showFiniteBits" $ do
    it "Word8"  $ showFiniteBits @Word8    2  `shouldBe` "00000010"
    it "Int8+"  $ showFiniteBits @Int8     2  `shouldBe` "00000010"
    it "Int8-"  $ showFiniteBits @Int8   (-2) `shouldBe` "11111110"
    it "Word16" $ showFiniteBits @Word16   2  `shouldBe` "0000000000000010"
    it "Int16+" $ showFiniteBits @Int16    2  `shouldBe` "0000000000000010"
    it "Int16-" $ showFiniteBits @Int16  (-2) `shouldBe` "1111111111111110"
    it "Word32" $ showFiniteBits @Word32   2  `shouldBe` "00000000000000000000000000000010"
    it "Int32+" $ showFiniteBits @Int32    2  `shouldBe` "00000000000000000000000000000010"
    it "Int32-" $ showFiniteBits @Int32  (-2) `shouldBe` "11111111111111111111111111111110"
    it "Word64" $ showFiniteBits @Word64   2  `shouldBe` "0000000000000000000000000000000000000000000000000000000000000010"
    it "Int64+" $ showFiniteBits @Int64    2  `shouldBe` "0000000000000000000000000000000000000000000000000000000000000010"
    it "Int64-" $ showFiniteBits @Int64  (-2) `shouldBe` "1111111111111111111111111111111111111111111111111111111111111110"