mirror of
https://github.com/macocianradu/RosettaHaskellCompiler.git
synced 2026-03-18 21:10:07 +00:00
39 lines
2.0 KiB
Haskell
39 lines
2.0 KiB
Haskell
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"}]}] |