From a6f3ddf631375a10f77e8c7927a6709e59f9cfec Mon Sep 17 00:00:00 2001 From: Jonathan Knowles Date: Mon, 6 Jul 2020 05:25:16 +0000 Subject: [PATCH] Add property `prop_determinePoolRegistrationStatus_differentPools`. --- .../test/unit/Cardano/Pool/DB/Properties.hs | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/lib/core/test/unit/Cardano/Pool/DB/Properties.hs b/lib/core/test/unit/Cardano/Pool/DB/Properties.hs index ebdde770c78..0417fd748e6 100644 --- a/lib/core/test/unit/Cardano/Pool/DB/Properties.hs +++ b/lib/core/test/unit/Cardano/Pool/DB/Properties.hs @@ -167,12 +167,15 @@ properties = do (property . prop_unfetchedPoolMetadataRefs) it "unfetchedPoolMetadataRefsIgnoring" (property . prop_unfetchedPoolMetadataRefsIgnoring) - it "prop_determinePoolRegistrationStatus_orderCorrect" $ + it "prop_determinePoolRegistrationStatus_orderCorrect" (property . const prop_determinePoolRegistrationStatus_orderCorrect) - it "prop_determinePoolRegistrationStatus_neverRegistered" $ + it "prop_determinePoolRegistrationStatus_neverRegistered" (property . const prop_determinePoolRegistrationStatus_neverRegistered) + it "prop_determinePoolRegistrationStatus_differentPools" + (property . const + prop_determinePoolRegistrationStatus_differentPools) {------------------------------------------------------------------------------- Properties @@ -625,6 +628,26 @@ prop_determinePoolRegistrationStatus_neverRegistered maybeRetData = where result = determinePoolRegistrationStatus Nothing maybeRetData +prop_determinePoolRegistrationStatus_differentPools + :: forall certificatePublicationTime . (certificatePublicationTime ~ Int) + => (certificatePublicationTime, PoolRegistrationCertificate) + -> (certificatePublicationTime, PoolRetirementCertificate) + -> Property +prop_determinePoolRegistrationStatus_differentPools regData retData = + property $ (regPoolId /= retPoolId) ==> prop + where + prop = evaluate result `shouldThrow` anyException + + regPoolId = view #poolId regCert + retPoolId = view #poolId retCert + + (regTime, regCert) = regData + (retTime, retCert) = retData + + result = determinePoolRegistrationStatus + (pure (regTime, regCert)) + (pure (retTime, retCert)) + descSlotsPerPool :: Map PoolId [BlockHeader] -> Expectation descSlotsPerPool pools = do let checkIfDesc slots =