packages feed

unused-0.9.0.0: test/Unused/Grouping/InternalSpec.hs

module Unused.Grouping.InternalSpec
    ( main
    , spec
    ) where

import Test.Hspec
import Unused.Grouping.Internal
import Unused.Grouping.Types
import Unused.Types

main :: IO ()
main = hspec spec

spec :: Spec
spec =
    parallel $
    describe "groupFilter" $ do
        it "groups by directory" $ do
            let termMatch = TermMatch "AwesomeClass" "foo/bar/baz/buzz.rb" Nothing 10
            groupFilter GroupByDirectory termMatch `shouldBe` ByDirectory "foo/bar"
        it "groups by term" $ do
            let termMatch = TermMatch "AwesomeClass" "foo/bar/baz/buzz.rb" Nothing 10
            groupFilter GroupByTerm termMatch `shouldBe` ByTerm "AwesomeClass"
        it "groups by file" $ do
            let termMatch = TermMatch "AwesomeClass" "foo/bar/baz/buzz.rb" Nothing 10
            groupFilter GroupByFile termMatch `shouldBe` ByFile "foo/bar/baz/buzz.rb"
        it "groups by nothing" $ do
            let termMatch = TermMatch "AwesomeClass" "foo/bar/baz/buzz.rb" Nothing 10
            groupFilter NoGroup termMatch `shouldBe` NoGrouping