From bb6c319b530df53dec46f580b9ebfb837ec7cf7a Mon Sep 17 00:00:00 2001 From: Jonathan Knowles Date: Mon, 26 Oct 2020 08:53:31 +0000 Subject: [PATCH] Generate possibly-empty lists of outputs in `Arbitrary ApiTransaction`. --- .../test/unit/Cardano/Wallet/Api/TypesSpec.hs | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/lib/core/test/unit/Cardano/Wallet/Api/TypesSpec.hs b/lib/core/test/unit/Cardano/Wallet/Api/TypesSpec.hs index e1a0d46c785..23a2edeb7ec 100644 --- a/lib/core/test/unit/Cardano/Wallet/Api/TypesSpec.hs +++ b/lib/core/test/unit/Cardano/Wallet/Api/TypesSpec.hs @@ -197,8 +197,6 @@ import Data.FileEmbed ( embedFile, makeRelativeToProject ) import Data.Function ( (&) ) -import Data.Generics.Internal.VL.Lens - ( view ) import Data.List ( foldl' ) import Data.List.NonEmpty @@ -1462,10 +1460,7 @@ instance Arbitrary ApiTxMetadata where shrink = genericShrink instance Arbitrary (ApiTransaction t) where - shrink = filter outputsNonEmpty . genericShrink - where - outputsNonEmpty :: ApiTransaction t -> Bool - outputsNonEmpty = (not . null) . view #outputs + shrink = genericShrink arbitrary = do txStatus <- arbitrary txInsertedAt <- case txStatus of @@ -1497,15 +1492,8 @@ instance Arbitrary (ApiTransaction t) where where genInputs = Test.QuickCheck.scale (`mod` 3) arbitrary - -- Note that the generated list of outputs must be non-empty in order - -- to be consistent with the specification. - -- - -- Ideally, we should encode this restriction in the type system. - -- - -- See https://jira.iohk.io/browse/ADP-400. - genOutputs = (:) - <$> arbitrary - <*> Test.QuickCheck.scale (`mod` 3) arbitrary + genOutputs = + Test.QuickCheck.scale (`mod` 3) arbitrary genWithdrawals = Test.QuickCheck.scale (`mod` 3) arbitrary