added enum pretty printing tests

This commit is contained in:
macocianradu
2022-01-12 14:41:28 +02:00
parent a8c5438d79
commit 07d4cc73e0
10 changed files with 122 additions and 13 deletions

View File

@@ -0,0 +1,39 @@
module PrettyPrinter.EnumSpec where
import Test.Hspec
import Model.Enum
import PrettyPrinter.Enum
spec :: Spec
spec = do
describe "Testing enum parsing" $ do
it "[Test 1]" $ do
plainText <- readFile "resources/Enums/haskellEnum1.hs"
printEnum (head enums) `shouldBe` plainText
it "[Test 2]" $ do
plainText <- readFile "resources/Enums/haskellEnum2.hs"
printEnum (enums !! 1) `shouldBe` plainText
it "[Test 3]" $ do
plainText <- readFile "resources/Enums/haskellEnum3.hs"
printEnum (enums !! 2) `shouldBe` plainText
enums :: [EnumType]
enums = [
MakeEnum {enumName = "PeriodEnum",
enumDescription = Just "The enumerated values to specified the period, e.g. day, week.",
enumValues = [MakeEnumValue {enumValueName = "D", enumValueDescription = Just "Day", enumValueDisplayName = Just "day"},
MakeEnumValue {enumValueName = "M", enumValueDescription = Just "Month", enumValueDisplayName = Just "month"},
MakeEnumValue {enumValueName = "Y", enumValueDescription = Just "Year", enumValueDisplayName = Just "year"}]},
MakeEnum {enumName = "EnumWithoutDisplay",
enumDescription = Just "The enumerated values to specified the period, e.g. day, week.",
enumValues = [MakeEnumValue {enumValueName = "D", enumValueDescription = Just "Day", enumValueDisplayName = Nothing},
MakeEnumValue {enumValueName = "M", enumValueDescription = Just "Month", enumValueDisplayName = Nothing},
MakeEnumValue {enumValueName = "Y", enumValueDescription = Just "Year", enumValueDisplayName = Nothing}]},
MakeEnum {enumName = "EnumWithoutDescription",
enumDescription = Nothing,
enumValues = [MakeEnumValue {enumValueName = "X", enumValueDescription = Nothing, enumValueDisplayName = Just "xs"},
MakeEnumValue {enumValueName = "Y", enumValueDescription = Nothing, enumValueDisplayName = Just "ys"}]}]