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

Commit b16ec48

Browse files
committed
[CO-410] Add more SafeCopy golden tests for Address and Address'
1 parent e53e27c commit b16ec48

8 files changed

Lines changed: 92 additions & 3 deletions

File tree

core/test/Test/Pos/Core/ExampleHelpers.hs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,17 @@ module Test.Pos.Core.ExampleHelpers
77
, exampleAddress2
88
, exampleAddress3
99
, exampleAddress4
10+
, exampleAddress5
11+
, exampleAddress6
12+
, exampleAddress7
1013
, exampleAddress'
1114
, exampleAddress'1
1215
, exampleAddress'2
1316
, exampleAddress'3
1417
, exampleAddress'4
18+
, exampleAddress'5
19+
, exampleAddress'6
20+
, exampleAddress'7
1521
, exampleAttributes
1622
, exampleChainDifficulty
1723
, exampleEpochIndex
@@ -232,6 +238,28 @@ exampleAddress4 = makeAddress easd attrs
232238
attrs = AddrAttributes Nothing (SingleKeyDistr sId) NetworkMainOrStage
233239
[sId] = exampleStakeholderIds 7 1
234240

241+
exampleAddress5 :: Address
242+
exampleAddress5 = makeAddress easd attrs
243+
where
244+
easd = ScriptASD exampleScript
245+
attrs = AddrAttributes hap exampleMultiKeyDistr (NetworkTestnet 12345)
246+
hap = Just (HDAddressPayload (getBytes 10 32))
247+
248+
exampleAddress6 :: Address
249+
exampleAddress6 = makeAddress easd attrs
250+
where
251+
easd = UnknownASD 200 "test value"
252+
attrs = AddrAttributes Nothing (SingleKeyDistr sId) (NetworkTestnet 31337)
253+
[sId] = exampleStakeholderIds 10 1
254+
255+
exampleAddress7 :: Address
256+
exampleAddress7 = makeAddress easd attrs
257+
where
258+
easd = PubKeyASD pk
259+
[pk] = examplePublicKeys 16 1
260+
attrs = AddrAttributes hap BootstrapEraDistr (NetworkTestnet (- 559038737))
261+
hap = Nothing
262+
235263
exampleAddress' :: Address'
236264
exampleAddress' = makeAddress' exampleAddrSpendingData_PubKey attrs
237265
where
@@ -268,6 +296,28 @@ exampleAddress'4 = makeAddress' easd attrs
268296
attrs = AddrAttributes Nothing (SingleKeyDistr sId) NetworkMainOrStage
269297
[sId] = exampleStakeholderIds 7 1
270298

299+
exampleAddress'5 :: Address'
300+
exampleAddress'5 = makeAddress' easd attrs
301+
where
302+
easd = ScriptASD exampleScript
303+
attrs = AddrAttributes hap exampleMultiKeyDistr (NetworkTestnet 12345)
304+
hap = Just (HDAddressPayload (getBytes 10 32))
305+
306+
exampleAddress'6 :: Address'
307+
exampleAddress'6 = makeAddress' easd attrs
308+
where
309+
easd = UnknownASD 200 "test value"
310+
attrs = AddrAttributes Nothing (SingleKeyDistr sId) (NetworkTestnet 31337)
311+
[sId] = exampleStakeholderIds 10 1
312+
313+
exampleAddress'7 :: Address'
314+
exampleAddress'7 = makeAddress' easd attrs
315+
where
316+
easd = PubKeyASD pk
317+
[pk] = examplePublicKeys 16 1
318+
attrs = AddrAttributes hap BootstrapEraDistr (NetworkTestnet (- 559038737))
319+
hap = Nothing
320+
271321
exampleMultiKeyDistr :: AddrStakeDistribution
272322
exampleMultiKeyDistr = case mkMultiKeyDistr (M.fromList pairs) of
273323
Left err -> error $

core/test/Test/Pos/Core/SafeCopy.hs

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@ import qualified Hedgehog as H
77

88
import Test.Pos.Core.ExampleHelpers (exampleAddress, exampleAddress',
99
exampleAddress'1, exampleAddress'2, exampleAddress'3,
10-
exampleAddress'4, exampleAddress1, exampleAddress2,
11-
exampleAddress3, exampleAddress4)
12-
import Test.Pos.Util.Golden (discoverGolden, goldenTestSafeCopyDec)
10+
exampleAddress'4, exampleAddress'5, exampleAddress'6,
11+
exampleAddress'7, exampleAddress1, exampleAddress2,
12+
exampleAddress3, exampleAddress4, exampleAddress5,
13+
exampleAddress6, exampleAddress7)
14+
import Test.Pos.Util.Golden (discoverGolden, goldenTestSafeCopy,
15+
goldenTestSafeCopyDec)
1316

1417
--------------------------------------------------------------------------------
1518
-- Address
@@ -49,6 +52,24 @@ golden_Address4 =
4952
exampleAddress4
5053
"test/golden/safecopy/Address4_Legacy_NoNetworkMagic"
5154

55+
golden_Address5 :: Property
56+
golden_Address5 =
57+
goldenTestSafeCopy
58+
exampleAddress5
59+
"test/golden/safecopy/Address5_HasNetworkMagic"
60+
61+
golden_Address6 :: Property
62+
golden_Address6 =
63+
goldenTestSafeCopy
64+
exampleAddress6
65+
"test/golden/safecopy/Address6_HasNetworkMagic"
66+
67+
golden_Address7 :: Property
68+
golden_Address7 =
69+
goldenTestSafeCopy
70+
exampleAddress7
71+
"test/golden/safecopy/Address7_HasNetworkMagic"
72+
5273
--------------------------------------------------------------------------------
5374
-- Address'
5475
--------------------------------------------------------------------------------
@@ -87,5 +108,23 @@ golden_Address'4 =
87108
exampleAddress'4
88109
"test/golden/safecopy/Address'4_Legacy_NoNetworkMagic"
89110

111+
golden_Address'5 :: Property
112+
golden_Address'5 =
113+
goldenTestSafeCopy
114+
exampleAddress'5
115+
"test/golden/safecopy/Address'5_HasNetworkMagic"
116+
117+
golden_Address'6 :: Property
118+
golden_Address'6 =
119+
goldenTestSafeCopy
120+
exampleAddress'6
121+
"test/golden/safecopy/Address'6_HasNetworkMagic"
122+
123+
golden_Address'7 :: Property
124+
golden_Address'7 =
125+
goldenTestSafeCopy
126+
exampleAddress'7
127+
"test/golden/safecopy/Address'7_HasNetworkMagic"
128+
90129
tests :: IO Bool
91130
tests = H.checkSequential $$discoverGolden
317 Bytes
Binary file not shown.
135 Bytes
Binary file not shown.
170 Bytes
Binary file not shown.
300 Bytes
Binary file not shown.
145 Bytes
Binary file not shown.
107 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)