registry-hedgehog-0.1.0.0: test/Test/Data/Registry/Company.hs
module Test.Data.Registry.Company where
import Protolude
-- Some complex nested data
data Company = Company {
companyName :: Text
, departments :: [Department]
} deriving (Eq, Show)
data Department = Department {
departmentName :: Text
, employees :: [Employee]
} deriving (Eq, Show)
data Employee = Employee {
employeeName :: Text
, employeeStatus :: EmployeeStatus
, salary :: Int
, bonus :: Maybe Int
} deriving (Eq, Show)
-- | Note that this is an ADT with several constructors
data EmployeeStatus =
Permanent
| Temporary Int -- number of days
deriving (Eq, Show)