packages feed

record-encode-0.2.3: test/LibSpec.hs

{-# language DeriveGeneric #-}
module LibSpec where

import Test.Hspec
-- import Test.Hspec.QuickCheck
import qualified GHC.Generics as G
import Generics.SOP 

import Data.Record.Encode


data X = Xa | Xb | Xc deriving (Eq, Show, Enum, G.Generic)
instance Generic X


main :: IO ()
main = hspec spec

spec :: Spec
spec =
  describe "Data.Record.Encode" $ do
    it "creates a one-hot encoded vector from a sum type" $ do
      oDim (encodeOneHot Xb) `shouldBe` 3
      oIx (encodeOneHot Xb) `shouldBe` 1
      
    -- prop "ourAdd is commutative" $ \x y ->
    --   ourAdd x y `shouldBe` ourAdd y x