{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE PartialTypeSignatures #-} module Main where import Data.Typeable (Proxy(..)) import Test.Hspec import Test.Hspec.QuickCheck import PropMime import Instances () import NeptuneBackend.Model import NeptuneBackend.MimeTypes main :: IO () main = hspec $ modifyMaxSize (const 10) $ do describe "JSON instances" $ do pure () propMimeEq MimeJSON (Proxy :: Proxy AchievementTypeDTO) propMimeEq MimeJSON (Proxy :: Proxy AchievementsDTO) propMimeEq MimeJSON (Proxy :: Proxy ApiErrorTypeDTO) propMimeEq MimeJSON (Proxy :: Proxy AuthorizedUserDTO) propMimeEq MimeJSON (Proxy :: Proxy AvatarSourceEnum) propMimeEq MimeJSON (Proxy :: Proxy BatchChannelValueErrorDTO) propMimeEq MimeJSON (Proxy :: Proxy BatchExperimentUpdateResult) propMimeEq MimeJSON (Proxy :: Proxy Channel) propMimeEq MimeJSON (Proxy :: Proxy ChannelDTO) propMimeEq MimeJSON (Proxy :: Proxy ChannelParams) propMimeEq MimeJSON (Proxy :: Proxy ChannelType) propMimeEq MimeJSON (Proxy :: Proxy ChannelTypeEnum) propMimeEq MimeJSON (Proxy :: Proxy ChannelWithValue) propMimeEq MimeJSON (Proxy :: Proxy ChannelWithValueDTO) propMimeEq MimeJSON (Proxy :: Proxy Chart) propMimeEq MimeJSON (Proxy :: Proxy ChartDefinition) propMimeEq MimeJSON (Proxy :: Proxy ChartSet) propMimeEq MimeJSON (Proxy :: Proxy ChartSetParams) propMimeEq MimeJSON (Proxy :: Proxy Charts) propMimeEq MimeJSON (Proxy :: Proxy ClientConfig) propMimeEq MimeJSON (Proxy :: Proxy ClientVersionsConfigDTO) propMimeEq MimeJSON (Proxy :: Proxy CompletedExperimentParams) propMimeEq MimeJSON (Proxy :: Proxy ComponentStatus) propMimeEq MimeJSON (Proxy :: Proxy ComponentVersion) propMimeEq MimeJSON (Proxy :: Proxy ConfigInfo) propMimeEq MimeJSON (Proxy :: Proxy CreateSessionParamsDTO) propMimeEq MimeJSON (Proxy :: Proxy CustomerDTO) propMimeEq MimeJSON (Proxy :: Proxy DiscountCodeDTO) propMimeEq MimeJSON (Proxy :: Proxy DiscountDTO) propMimeEq MimeJSON (Proxy :: Proxy DownloadPrepareRequestDTO) propMimeEq MimeJSON (Proxy :: Proxy EditExperimentParams) propMimeEq MimeJSON (Proxy :: Proxy Error) propMimeEq MimeJSON (Proxy :: Proxy Experiment) propMimeEq MimeJSON (Proxy :: Proxy ExperimentCreationParams) propMimeEq MimeJSON (Proxy :: Proxy ExperimentPaths) propMimeEq MimeJSON (Proxy :: Proxy ExperimentState) propMimeEq MimeJSON (Proxy :: Proxy ExperimentsAttributesNamesDTO) propMimeEq MimeJSON (Proxy :: Proxy File) propMimeEq MimeJSON (Proxy :: Proxy GitCommitDTO) propMimeEq MimeJSON (Proxy :: Proxy GitInfoDTO) propMimeEq MimeJSON (Proxy :: Proxy GlobalConfiguration) propMimeEq MimeJSON (Proxy :: Proxy InputChannelValues) propMimeEq MimeJSON (Proxy :: Proxy InputImageDTO) propMimeEq MimeJSON (Proxy :: Proxy InputMetadata) propMimeEq MimeJSON (Proxy :: Proxy InvitationStatusEnumDTO) propMimeEq MimeJSON (Proxy :: Proxy InvitationTypeEnumDTO) propMimeEq MimeJSON (Proxy :: Proxy KeyValueProperty) propMimeEq MimeJSON (Proxy :: Proxy LimitedChannelValuesDTO) propMimeEq MimeJSON (Proxy :: Proxy Link) propMimeEq MimeJSON (Proxy :: Proxy LinkDTO) propMimeEq MimeJSON (Proxy :: Proxy LinkTypeDTO) propMimeEq MimeJSON (Proxy :: Proxy LoginActionDTO) propMimeEq MimeJSON (Proxy :: Proxy LoginActionsListDTO) propMimeEq MimeJSON (Proxy :: Proxy NameEnum) propMimeEq MimeJSON (Proxy :: Proxy NeptuneApiToken) propMimeEq MimeJSON (Proxy :: Proxy NeptuneOauthToken) propMimeEq MimeJSON (Proxy :: Proxy NewOrganizationInvitationDTO) propMimeEq MimeJSON (Proxy :: Proxy NewOrganizationMemberDTO) propMimeEq MimeJSON (Proxy :: Proxy NewProjectDTO) propMimeEq MimeJSON (Proxy :: Proxy NewProjectInvitationDTO) propMimeEq MimeJSON (Proxy :: Proxy NewProjectMemberDTO) propMimeEq MimeJSON (Proxy :: Proxy NewReservationDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationCreationParamsDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationInvitationDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationInvitationUpdateDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationLimitsDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationMemberDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationMemberUpdateDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationNameAvailableDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationPricingPlanDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationRoleDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationTypeDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationUpdateDTO) propMimeEq MimeJSON (Proxy :: Proxy OrganizationWithRoleDTO) propMimeEq MimeJSON (Proxy :: Proxy OutputImageDTO) propMimeEq MimeJSON (Proxy :: Proxy Parameter) propMimeEq MimeJSON (Proxy :: Proxy ParameterTypeEnum) propMimeEq MimeJSON (Proxy :: Proxy PasswordChangeDTO) propMimeEq MimeJSON (Proxy :: Proxy Point) propMimeEq MimeJSON (Proxy :: Proxy PointValueDTO) propMimeEq MimeJSON (Proxy :: Proxy PricingPlanDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectCodeAccessDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectInvitationDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectInvitationUpdateDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectKeyDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectListDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectMemberDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectMemberUpdateDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectMembersDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectMetadataDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectRoleDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectUpdateDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectVisibilityDTO) propMimeEq MimeJSON (Proxy :: Proxy ProjectWithRoleDTO) propMimeEq MimeJSON (Proxy :: Proxy PublicUserProfileDTO) propMimeEq MimeJSON (Proxy :: Proxy QuestionnaireDTO) propMimeEq MimeJSON (Proxy :: Proxy RegisteredMemberInfoDTO) propMimeEq MimeJSON (Proxy :: Proxy RegistrationSurveyDTO) propMimeEq MimeJSON (Proxy :: Proxy Series) propMimeEq MimeJSON (Proxy :: Proxy SeriesDefinition) propMimeEq MimeJSON (Proxy :: Proxy SeriesType) propMimeEq MimeJSON (Proxy :: Proxy SessionDTO) propMimeEq MimeJSON (Proxy :: Proxy StateTransitions) propMimeEq MimeJSON (Proxy :: Proxy StorageUsage) propMimeEq MimeJSON (Proxy :: Proxy SubscriptionCancelInfoDTO) propMimeEq MimeJSON (Proxy :: Proxy SystemMetric) propMimeEq MimeJSON (Proxy :: Proxy SystemMetricParams) propMimeEq MimeJSON (Proxy :: Proxy SystemMetricPoint) propMimeEq MimeJSON (Proxy :: Proxy SystemMetricResourceType) propMimeEq MimeJSON (Proxy :: Proxy SystemMetricValues) propMimeEq MimeJSON (Proxy :: Proxy UUID) propMimeEq MimeJSON (Proxy :: Proxy UpdateTagsParams) propMimeEq MimeJSON (Proxy :: Proxy UserListDTO) propMimeEq MimeJSON (Proxy :: Proxy UserListItemDTO) propMimeEq MimeJSON (Proxy :: Proxy UserPricingStatusDTO) propMimeEq MimeJSON (Proxy :: Proxy UserProfileDTO) propMimeEq MimeJSON (Proxy :: Proxy UserProfileLinkDTO) propMimeEq MimeJSON (Proxy :: Proxy UserProfileLinksDTO) propMimeEq MimeJSON (Proxy :: Proxy UserProfileUpdateDTO) propMimeEq MimeJSON (Proxy :: Proxy UsernameValidationStatusDTO) propMimeEq MimeJSON (Proxy :: Proxy UsernameValidationStatusEnumDTO) propMimeEq MimeJSON (Proxy :: Proxy Version) propMimeEq MimeJSON (Proxy :: Proxy WorkspaceConfig) propMimeEq MimeJSON (Proxy :: Proxy Y)