unused-0.8.0.0: test/Unused/AliasesSpec.hs
module Unused.AliasesSpec where
import Data.Monoid ((<>))
import Test.Hspec
import Unused.Aliases
import Unused.ResultsClassifier.Types (TermAlias(..))
import Unused.Types (SearchTerm(..))
main :: IO ()
main = hspec spec
spec :: Spec
spec = parallel $
describe "termsAndAliases" $ do
it "returns the terms if no aliases are provided" $
termsAndAliases [] ["method_1", "method_2"] `shouldBe` [OriginalTerm "method_1", OriginalTerm "method_2"]
it "adds aliases to the list of terms" $ do
let predicateAlias = TermAlias "*?" "be_{}" ("be_" <>)
let pluralizeAlias = TermAlias "really_*" "very_{}" ("very_" <>)
termsAndAliases [predicateAlias, pluralizeAlias] ["awesome?", "really_cool"]
`shouldBe` [OriginalTerm "awesome?", AliasTerm "awesome?" "be_awesome", OriginalTerm "really_cool", AliasTerm "really_cool" "very_cool"]