dataframe-0.1.0.2: tests/Operations/Take.hs
{-# LANGUAGE OverloadedStrings #-}
module Operations.Take where
import qualified DataFrame as D
import qualified DataFrame as DI
import Test.HUnit
testData :: D.DataFrame
testData = D.fromList [ ("test1", DI.toColumn ([1..26] :: [Int]))
, ("test2", DI.toColumn ['a'..'z'])
]
takeWAI :: Test
takeWAI = TestCase (assertEqual "Gets first 10 numbers" (Just $ D.toColumn [(1 :: Int)..10]) (D.getColumn "test1" $ D.take 10 testData))
takeLastWAI :: Test
takeLastWAI = TestCase (assertEqual "Gets first 10 numbers" (Just $ D.toColumn [(17 :: Int)..26]) (D.getColumn "test1" $ D.takeLast 10 testData))
lengthEqualsTakeParam :: Test
lengthEqualsTakeParam = TestCase (assertEqual "should be (5, 2)" (5, 2) (D.dimensions $ D.take 5 testData))
lengthGreaterThanTakeParam :: Test
lengthGreaterThanTakeParam = TestCase (assertEqual "should be (26, 2)" (26, 2) (D.dimensions $ D.take 30 testData))
emptyIsZero :: Test
emptyIsZero = TestCase (assertEqual "should be (0, 0)" (0, 0) (D.dimensions $ D.take 5 D.empty))
negativeIsZero :: Test
negativeIsZero = TestCase (assertEqual "should be (0, 2)" (0, 2) (D.dimensions $ D.take (-1) testData))
lengthEqualsTakeLastParam :: Test
lengthEqualsTakeLastParam = TestCase (assertEqual "should be (5, 2)" (5, 2) (D.dimensions $ D.takeLast 5 testData))
lengthGreaterThanTakeLastParam :: Test
lengthGreaterThanTakeLastParam = TestCase (assertEqual "should be (26, 2)" (26, 2) (D.dimensions $ D.takeLast 30 testData))
emptyIsZeroTakeLast :: Test
emptyIsZeroTakeLast = TestCase (assertEqual "should be (0, 0)" (0, 0) (D.dimensions $ D.takeLast 5 D.empty))
negativeIsZeroTakeLast :: Test
negativeIsZeroTakeLast = TestCase (assertEqual "should be (0, 2)" (0, 2) (D.dimensions $ D.takeLast (-1) testData))
tests :: [Test]
tests = [ TestLabel "takeWAI" takeWAI
, TestLabel "takeLastWAI" takeLastWAI
, TestLabel "lengthEqualsTakeParam" lengthEqualsTakeParam
, TestLabel "lengthGreaterThanTakeParam" lengthGreaterThanTakeParam
, TestLabel "emptyIsZero" emptyIsZero
, TestLabel "negativeIsZero" negativeIsZero
, TestLabel "lengthEqualsTakeLastParam" lengthEqualsTakeLastParam
, TestLabel "lengthGreaterThanTakeLastParam" lengthGreaterThanTakeLastParam
, TestLabel "emptyIsZeroTakeLast" emptyIsZeroTakeLast
, TestLabel "negativeIsZeroTakeLast" negativeIsZeroTakeLast
]