Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

Commit

Permalink
[CO-410] Add more SafeCopy golden tests for Address and Address'
Browse files Browse the repository at this point in the history
  • Loading branch information
intricate committed Oct 16, 2018
1 parent c8356c2 commit 834ac93
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 3 deletions.
50 changes: 50 additions & 0 deletions core/test/Test/Pos/Core/ExampleHelpers.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,17 @@ module Test.Pos.Core.ExampleHelpers
, exampleAddress2
, exampleAddress3
, exampleAddress4
, exampleAddress5
, exampleAddress6
, exampleAddress7
, exampleAddress'
, exampleAddress'1
, exampleAddress'2
, exampleAddress'3
, exampleAddress'4
, exampleAddress'5
, exampleAddress'6
, exampleAddress'7
, exampleAttributes
, exampleChainDifficulty
, exampleEpochIndex
Expand Down Expand Up @@ -232,6 +238,28 @@ exampleAddress4 = makeAddress easd attrs
attrs = AddrAttributes Nothing (SingleKeyDistr sId) NetworkMainOrStage
[sId] = exampleStakeholderIds 7 1

exampleAddress5 :: Address
exampleAddress5 = makeAddress easd attrs
where
easd = ScriptASD exampleScript
attrs = AddrAttributes hap exampleMultiKeyDistr (NetworkTestnet 12345)
hap = Just (HDAddressPayload (getBytes 10 32))

exampleAddress6 :: Address
exampleAddress6 = makeAddress easd attrs
where
easd = UnknownASD 200 "test value"
attrs = AddrAttributes Nothing (SingleKeyDistr sId) (NetworkTestnet 31337)
[sId] = exampleStakeholderIds 10 1

exampleAddress7 :: Address
exampleAddress7 = makeAddress easd attrs
where
easd = PubKeyASD pk
[pk] = examplePublicKeys 16 1
attrs = AddrAttributes hap BootstrapEraDistr (NetworkTestnet (- 559038737))
hap = Nothing

exampleAddress' :: Address'
exampleAddress' = makeAddress' exampleAddrSpendingData_PubKey attrs
where
Expand Down Expand Up @@ -268,6 +296,28 @@ exampleAddress'4 = makeAddress' easd attrs
attrs = AddrAttributes Nothing (SingleKeyDistr sId) NetworkMainOrStage
[sId] = exampleStakeholderIds 7 1

exampleAddress'5 :: Address'
exampleAddress'5 = makeAddress' easd attrs
where
easd = ScriptASD exampleScript
attrs = AddrAttributes hap exampleMultiKeyDistr (NetworkTestnet 12345)
hap = Just (HDAddressPayload (getBytes 10 32))

exampleAddress'6 :: Address'
exampleAddress'6 = makeAddress' easd attrs
where
easd = UnknownASD 200 "test value"
attrs = AddrAttributes Nothing (SingleKeyDistr sId) (NetworkTestnet 31337)
[sId] = exampleStakeholderIds 10 1

exampleAddress'7 :: Address'
exampleAddress'7 = makeAddress' easd attrs
where
easd = PubKeyASD pk
[pk] = examplePublicKeys 16 1
attrs = AddrAttributes hap BootstrapEraDistr (NetworkTestnet (- 559038737))
hap = Nothing

exampleMultiKeyDistr :: AddrStakeDistribution
exampleMultiKeyDistr = case mkMultiKeyDistr (M.fromList pairs) of
Left err -> error $
Expand Down
45 changes: 42 additions & 3 deletions core/test/Test/Pos/Core/SafeCopy.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ import qualified Hedgehog as H

import Test.Pos.Core.ExampleHelpers (exampleAddress, exampleAddress',
exampleAddress'1, exampleAddress'2, exampleAddress'3,
exampleAddress'4, exampleAddress1, exampleAddress2,
exampleAddress3, exampleAddress4)
import Test.Pos.Util.Golden (discoverGolden, goldenTestSafeCopyDec)
exampleAddress'4, exampleAddress'5, exampleAddress'6,
exampleAddress'7, exampleAddress1, exampleAddress2,
exampleAddress3, exampleAddress4, exampleAddress5,
exampleAddress6, exampleAddress7)
import Test.Pos.Util.Golden (discoverGolden, goldenTestSafeCopy,
goldenTestSafeCopyDec)

--------------------------------------------------------------------------------
-- Address
Expand Down Expand Up @@ -49,6 +52,24 @@ golden_Address4 =
exampleAddress4
"test/golden/safecopy/Address4_Legacy_NoNetworkMagic"

golden_Address5 :: Property
golden_Address5 =
goldenTestSafeCopy
exampleAddress5
"test/golden/safecopy/Address5_HasNetworkMagic"

golden_Address6 :: Property
golden_Address6 =
goldenTestSafeCopy
exampleAddress6
"test/golden/safecopy/Address6_HasNetworkMagic"

golden_Address7 :: Property
golden_Address7 =
goldenTestSafeCopy
exampleAddress7
"test/golden/safecopy/Address7_HasNetworkMagic"

--------------------------------------------------------------------------------
-- Address'
--------------------------------------------------------------------------------
Expand Down Expand Up @@ -87,5 +108,23 @@ golden_Address'4 =
exampleAddress'4
"test/golden/safecopy/Address'4_Legacy_NoNetworkMagic"

golden_Address'5 :: Property
golden_Address'5 =
goldenTestSafeCopy
exampleAddress'5
"test/golden/safecopy/Address'5_HasNetworkMagic"

golden_Address'6 :: Property
golden_Address'6 =
goldenTestSafeCopy
exampleAddress'6
"test/golden/safecopy/Address'6_HasNetworkMagic"

golden_Address'7 :: Property
golden_Address'7 =
goldenTestSafeCopy
exampleAddress'7
"test/golden/safecopy/Address'7_HasNetworkMagic"

tests :: IO Bool
tests = H.checkSequential $$discoverGolden
Binary file added core/test/golden/safecopy/Address'5_HasNetworkMagic
Binary file not shown.
Binary file added core/test/golden/safecopy/Address'6_HasNetworkMagic
Binary file not shown.
Binary file added core/test/golden/safecopy/Address'7_HasNetworkMagic
Binary file not shown.
Binary file added core/test/golden/safecopy/Address5_HasNetworkMagic
Binary file not shown.
Binary file added core/test/golden/safecopy/Address6_HasNetworkMagic
Binary file not shown.
Binary file added core/test/golden/safecopy/Address7_HasNetworkMagic
Binary file not shown.

0 comments on commit 834ac93

Please sign in to comment.