{-# 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