implemented decodeRawRows

This commit is contained in:
2022-04-20 21:21:51 -04:00
parent 63b97649a6
commit 389c206063
2 changed files with 141 additions and 17 deletions

View File

@@ -25,7 +25,7 @@ module Data.CSV.SlurpSpec (spec) where
import Conduit (runConduit, (.|))
import Data.Char (ord)
import Data.Conduit.List (consume, sourceList)
import Test.Hspec (Spec, context, describe, it, shouldBe, xit)
import Test.Hspec (Spec, context, describe, it, shouldBe)
import Data.CSV.Slurp
@@ -43,25 +43,26 @@ decodeRowsSpec = describe "decodeRows" $ mapM_
let
expLen = length expected
resLen = length result
xit ("should have " ++ show expLen ++ " rows") $
it ("should have " ++ show expLen ++ " rows") $
resLen `shouldBe` expLen
mapM_
( \(n, expected', result') -> context ("row " ++ show n) $
xit ("should be " ++ show expected') $
it ("should be " ++ show expected') $
result' `shouldBe` expected'
) $ zip3 [(0::Int)..] expected result
)
-- label, input, expected
[ ( "valid", validIn, validRes )
, ( "invalid", invalidIn, [] )
, ( "empty", [], [] )
[ ( "valid", validIn, validRes )
, ( "invalid", invalidIn, invalidRes )
, ( "empty", [], [] )
]
where
validIn = ["foo,bar\r\n", "baz,quuux\r\n"]
invalidIn = ["\"a"]
validRes = [["foo", "bar"], ["baz", "quux"]]
validIn = ["foo,bar\r\n", "baz,quux\r\n"]
invalidIn = ["\"a"]
validRes = [["foo", "bar"], ["baz", "quux"]]
invalidRes = [[""]]
decodeRawRowsSpec :: Spec
decodeRawRowsSpec = describe "decodeRawRows" $ mapM_
@@ -70,12 +71,12 @@ decodeRawRowsSpec = describe "decodeRawRows" $ mapM_
let
expLen = length expected
resLen = length result
xit ("should have " ++ show expLen ++ " rows") $
it ("should have " ++ show expLen ++ " rows") $
resLen `shouldBe` expLen
mapM_
( \(n, expected', result') -> context ("row " ++ show n) $
xit ("should be " ++ show result') $
expected' `shouldBe` result'
it ("should be " ++ show result') $
result' `shouldBe` expected'
) $ zip3 [(0::Int)..] expected result
)