diff --git a/geval.cabal b/geval.cabal index 97c5847..08ce371 100644 --- a/geval.cabal +++ b/geval.cabal @@ -80,6 +80,7 @@ test-suite geval-test , text , attoparsec , edit-distance + , conduit ghc-options: -threaded -rtsopts -with-rtsopts=-N default-language: Haskell2010 diff --git a/src/GEval/LineByLine.hs b/src/GEval/LineByLine.hs index b2ee4b3..fe6aa30 100644 --- a/src/GEval/LineByLine.hs +++ b/src/GEval/LineByLine.hs @@ -11,7 +11,8 @@ module GEval.LineByLine (runLineByLine, runLineByLineGeneralized, runDiff, - runDiffGeneralized + runDiffGeneralized, + LineRecord(..) ) where import GEval.Core diff --git a/test/Spec.hs b/test/Spec.hs index d183bc0..c1b24c8 100644 --- a/test/Spec.hs +++ b/test/Spec.hs @@ -9,11 +9,14 @@ import GEval.ClippEU import GEval.PrecisionRecall import GEval.ClusteringMetrics import GEval.BIO +import GEval.LineByLine import Data.Attoparsec.Text import Options.Applicative import Data.Text import Text.EditDistance +import Data.Conduit.List (consume) + import qualified Test.HUnit as HU informationRetrievalBookExample :: [(String, Int)] @@ -263,7 +266,23 @@ main = hspec $ do describe "automatic decompression" $ do it "more complex test" $ do runGEvalTest "charmatch-complex-compressed" `shouldReturnAlmost` 0.1923076923076923 - + describe "line by line mode" $ do + let sampleChallenge = + GEvalSpecification + { gesOutDirectory = "test/likelihood-simple/likelihood-simple-solution", + gesExpectedDirectory = Just "test/likelihood-simple/likelihood-simple", + gesTestName = "test-A", + gesOutFile = "out.tsv", + gesExpectedFile = "expected.tsv", + gesInputFile = "in.tsv", + gesMetric = Likelihood, + gesPrecision = Nothing } + it "simple test" $ do + results <- runLineByLineGeneralized sampleChallenge Data.Conduit.List.consume + Prelude.map (\(LineRecord inp _ _ _ _) -> inp) results `shouldBe` ["foo", + "bar", + "baz", + "baq"] neverMatch :: Char -> Int -> Bool neverMatch _ _ = False diff --git a/test/likelihood-simple/likelihood-simple/test-A/in.tsv b/test/likelihood-simple/likelihood-simple/test-A/in.tsv new file mode 100644 index 0000000..655a059 --- /dev/null +++ b/test/likelihood-simple/likelihood-simple/test-A/in.tsv @@ -0,0 +1,4 @@ +foo +bar +baz +baq