tsne-1.0.0.1: test/Data/Algorithm/TSNE/ChecksSpec.hs
module Data.Algorithm.TSNE.ChecksSpec (main, spec) where
import Test.Hspec
import Data.Algorithm.TSNE.Checks
-- `main` is here so that this module can be run from GHCi on its own. It is
-- not needed for automatic spec discovery.
main :: IO ()
main = hspec spec
u = undefined
spec :: Spec
spec = do
describe "isSquare" $ do
it "empty is 0x0 square" $ do
isSquare 0 [] `shouldBe` True
it "empty is not 1x1 square" $ do
isSquare 1 [] `shouldBe` False
it "single is 1x1 square" $ do
isSquare 1 [[u]] `shouldBe` True
it "single is not 0x0 square" $ do
isSquare 0 [[u]] `shouldBe` False
it "2x2 square" $ do
isSquare 2 [[u,u],[u,u]] `shouldBe` True
it "2x2 is not 0x0" $ do
isSquare 0 [[u,u],[u,u]] `shouldBe` False
it "2x2 is not 0x0" $ do
isSquare 1 [[u,u],[u,u]] `shouldBe` False
it "2x2 is not 3x3" $ do
isSquare 3 [[u,u],[u,u]] `shouldBe` False
it "2x1 is not 1x1" $ do
isSquare 1 [[u,u]] `shouldBe` False
it "2x1 is not 2x2" $ do
isSquare 2 [[u,u]] `shouldBe` False
it "1x2 is not 1x1" $ do
isSquare 1 [[u,u]] `shouldBe` False
it "1x2 is not 2x2" $ do
isSquare 2 [[u,u]] `shouldBe` False
describe "has2DShape" $ do
it "empty is 0x0" $ do
has2DShape (0,0) [] `shouldBe` True
--it "empty is not 1x0" $ do
-- has2DShape (1,0) [] `shouldBe` False
it "empty is not 0x1" $ do
has2DShape (0,1) [] `shouldBe` False
it "1x2 is 1x2" $ do
has2DShape (1,2) [[u],[u]] `shouldBe` True
it "2x1 is 2x1" $ do
has2DShape (2,1) [[u,u]] `shouldBe` True
it "1x2 is not 2x1" $ do
has2DShape (2,1) [[u],[u]] `shouldBe` False
it "2x1 is not 1x2" $ do
has2DShape (1,2) [[u,u]] `shouldBe` False