19TEST(VaultTests, BuilderSettersRoundTrip)
45 previousTxnLgrSeqValue,
71 auto const entry = builder.
build(index);
73 EXPECT_TRUE(entry.validate());
76 auto const& expected = previousTxnIDValue;
77 auto const actual = entry.getPreviousTxnID();
82 auto const& expected = previousTxnLgrSeqValue;
83 auto const actual = entry.getPreviousTxnLgrSeq();
88 auto const& expected = sequenceValue;
89 auto const actual = entry.getSequence();
94 auto const& expected = ownerNodeValue;
95 auto const actual = entry.getOwnerNode();
100 auto const& expected = ownerValue;
101 auto const actual = entry.getOwner();
106 auto const& expected = accountValue;
107 auto const actual = entry.getAccount();
112 auto const& expected = assetValue;
113 auto const actual = entry.getAsset();
118 auto const& expected = shareMPTIDValue;
119 auto const actual = entry.getShareMPTID();
124 auto const& expected = withdrawalPolicyValue;
125 auto const actual = entry.getWithdrawalPolicy();
130 auto const& expected = dataValue;
131 auto const actualOpt = entry.getData();
132 ASSERT_TRUE(actualOpt.has_value());
134 EXPECT_TRUE(entry.hasData());
138 auto const& expected = assetsTotalValue;
139 auto const actualOpt = entry.getAssetsTotal();
140 ASSERT_TRUE(actualOpt.has_value());
142 EXPECT_TRUE(entry.hasAssetsTotal());
146 auto const& expected = assetsAvailableValue;
147 auto const actualOpt = entry.getAssetsAvailable();
148 ASSERT_TRUE(actualOpt.has_value());
150 EXPECT_TRUE(entry.hasAssetsAvailable());
154 auto const& expected = assetsMaximumValue;
155 auto const actualOpt = entry.getAssetsMaximum();
156 ASSERT_TRUE(actualOpt.has_value());
158 EXPECT_TRUE(entry.hasAssetsMaximum());
162 auto const& expected = lossUnrealizedValue;
163 auto const actualOpt = entry.getLossUnrealized();
164 ASSERT_TRUE(actualOpt.has_value());
166 EXPECT_TRUE(entry.hasLossUnrealized());
170 auto const& expected = scaleValue;
171 auto const actualOpt = entry.getScale();
172 ASSERT_TRUE(actualOpt.has_value());
174 EXPECT_TRUE(entry.hasScale());
178 auto const& expected = lEVersionValue;
179 auto const actualOpt = entry.getLEVersion();
180 ASSERT_TRUE(actualOpt.has_value());
182 EXPECT_TRUE(entry.hasLEVersion());
186 auto const& expected = vaultKindValue;
187 auto const actualOpt = entry.getVaultKind();
188 ASSERT_TRUE(actualOpt.has_value());
190 EXPECT_TRUE(entry.hasVaultKind());
194 auto const& expected = subscriptionDateValue;
195 auto const actualOpt = entry.getSubscriptionDate();
196 ASSERT_TRUE(actualOpt.has_value());
198 EXPECT_TRUE(entry.hasSubscriptionDate());
202 auto const& expected = redemptionDateValue;
203 auto const actualOpt = entry.getRedemptionDate();
204 ASSERT_TRUE(actualOpt.has_value());
206 EXPECT_TRUE(entry.hasRedemptionDate());
209 EXPECT_TRUE(entry.hasLedgerIndex());
210 auto const ledgerIndex = entry.getLedgerIndex();
211 ASSERT_TRUE(ledgerIndex.has_value());
212 EXPECT_EQ(*ledgerIndex, index);
213 EXPECT_EQ(entry.getKey(), index);
218TEST(VaultTests, BuilderFromSleRoundTrip)
244 sle->at(sfPreviousTxnID) = previousTxnIDValue;
245 sle->at(sfPreviousTxnLgrSeq) = previousTxnLgrSeqValue;
246 sle->at(sfSequence) = sequenceValue;
247 sle->at(sfOwnerNode) = ownerNodeValue;
248 sle->at(sfOwner) = ownerValue;
249 sle->at(sfAccount) = accountValue;
250 sle->at(sfData) = dataValue;
251 sle->at(sfAsset) =
STIssue(sfAsset, assetValue);
252 sle->at(sfAssetsTotal) = assetsTotalValue;
253 sle->at(sfAssetsAvailable) = assetsAvailableValue;
254 sle->at(sfAssetsMaximum) = assetsMaximumValue;
255 sle->at(sfLossUnrealized) = lossUnrealizedValue;
256 sle->at(sfShareMPTID) = shareMPTIDValue;
257 sle->at(sfWithdrawalPolicy) = withdrawalPolicyValue;
258 sle->at(sfScale) = scaleValue;
259 sle->at(sfLEVersion) = lEVersionValue;
260 sle->at(sfVaultKind) = vaultKindValue;
261 sle->at(sfSubscriptionDate) = subscriptionDateValue;
262 sle->at(sfRedemptionDate) = redemptionDateValue;
265 EXPECT_TRUE(builderFromSle.
validate());
267 auto const entryFromBuilder = builderFromSle.
build(index);
269 Vault entryFromSle{sle};
270 EXPECT_TRUE(entryFromBuilder.validate());
271 EXPECT_TRUE(entryFromSle.
validate());
274 auto const& expected = previousTxnIDValue;
277 auto const fromBuilder = entryFromBuilder.getPreviousTxnID();
284 auto const& expected = previousTxnLgrSeqValue;
287 auto const fromBuilder = entryFromBuilder.getPreviousTxnLgrSeq();
294 auto const& expected = sequenceValue;
297 auto const fromBuilder = entryFromBuilder.getSequence();
304 auto const& expected = ownerNodeValue;
307 auto const fromBuilder = entryFromBuilder.getOwnerNode();
314 auto const& expected = ownerValue;
316 auto const fromSle = entryFromSle.
getOwner();
317 auto const fromBuilder = entryFromBuilder.getOwner();
324 auto const& expected = accountValue;
326 auto const fromSle = entryFromSle.
getAccount();
327 auto const fromBuilder = entryFromBuilder.getAccount();
334 auto const& expected = assetValue;
336 auto const fromSle = entryFromSle.
getAsset();
337 auto const fromBuilder = entryFromBuilder.getAsset();
344 auto const& expected = shareMPTIDValue;
347 auto const fromBuilder = entryFromBuilder.getShareMPTID();
354 auto const& expected = withdrawalPolicyValue;
357 auto const fromBuilder = entryFromBuilder.getWithdrawalPolicy();
364 auto const& expected = dataValue;
366 auto const fromSleOpt = entryFromSle.
getData();
367 auto const fromBuilderOpt = entryFromBuilder.getData();
369 ASSERT_TRUE(fromSleOpt.has_value());
370 ASSERT_TRUE(fromBuilderOpt.has_value());
377 auto const& expected = assetsTotalValue;
380 auto const fromBuilderOpt = entryFromBuilder.getAssetsTotal();
382 ASSERT_TRUE(fromSleOpt.has_value());
383 ASSERT_TRUE(fromBuilderOpt.has_value());
390 auto const& expected = assetsAvailableValue;
393 auto const fromBuilderOpt = entryFromBuilder.getAssetsAvailable();
395 ASSERT_TRUE(fromSleOpt.has_value());
396 ASSERT_TRUE(fromBuilderOpt.has_value());
403 auto const& expected = assetsMaximumValue;
406 auto const fromBuilderOpt = entryFromBuilder.getAssetsMaximum();
408 ASSERT_TRUE(fromSleOpt.has_value());
409 ASSERT_TRUE(fromBuilderOpt.has_value());
416 auto const& expected = lossUnrealizedValue;
419 auto const fromBuilderOpt = entryFromBuilder.getLossUnrealized();
421 ASSERT_TRUE(fromSleOpt.has_value());
422 ASSERT_TRUE(fromBuilderOpt.has_value());
429 auto const& expected = scaleValue;
431 auto const fromSleOpt = entryFromSle.
getScale();
432 auto const fromBuilderOpt = entryFromBuilder.getScale();
434 ASSERT_TRUE(fromSleOpt.has_value());
435 ASSERT_TRUE(fromBuilderOpt.has_value());
442 auto const& expected = lEVersionValue;
445 auto const fromBuilderOpt = entryFromBuilder.getLEVersion();
447 ASSERT_TRUE(fromSleOpt.has_value());
448 ASSERT_TRUE(fromBuilderOpt.has_value());
455 auto const& expected = vaultKindValue;
458 auto const fromBuilderOpt = entryFromBuilder.getVaultKind();
460 ASSERT_TRUE(fromSleOpt.has_value());
461 ASSERT_TRUE(fromBuilderOpt.has_value());
468 auto const& expected = subscriptionDateValue;
471 auto const fromBuilderOpt = entryFromBuilder.getSubscriptionDate();
473 ASSERT_TRUE(fromSleOpt.has_value());
474 ASSERT_TRUE(fromBuilderOpt.has_value());
481 auto const& expected = redemptionDateValue;
484 auto const fromBuilderOpt = entryFromBuilder.getRedemptionDate();
486 ASSERT_TRUE(fromSleOpt.has_value());
487 ASSERT_TRUE(fromBuilderOpt.has_value());
493 EXPECT_EQ(entryFromSle.
getKey(), index);
494 EXPECT_EQ(entryFromBuilder.getKey(), index);
534TEST(VaultTests, OptionalFieldsReturnNullopt)
550 previousTxnLgrSeqValue,
557 withdrawalPolicyValue
560 auto const entry = builder.
build(index);
563 EXPECT_FALSE(entry.hasData());
564 EXPECT_FALSE(entry.getData().has_value());
565 EXPECT_FALSE(entry.hasAssetsTotal());
566 EXPECT_FALSE(entry.getAssetsTotal().has_value());
567 EXPECT_FALSE(entry.hasAssetsAvailable());
568 EXPECT_FALSE(entry.getAssetsAvailable().has_value());
569 EXPECT_FALSE(entry.hasAssetsMaximum());
570 EXPECT_FALSE(entry.getAssetsMaximum().has_value());
571 EXPECT_FALSE(entry.hasLossUnrealized());
572 EXPECT_FALSE(entry.getLossUnrealized().has_value());
573 EXPECT_FALSE(entry.hasScale());
574 EXPECT_FALSE(entry.getScale().has_value());
575 EXPECT_FALSE(entry.hasLEVersion());
576 EXPECT_FALSE(entry.getLEVersion().has_value());
577 EXPECT_FALSE(entry.hasVaultKind());
578 EXPECT_FALSE(entry.getVaultKind().has_value());
579 EXPECT_FALSE(entry.hasSubscriptionDate());
580 EXPECT_FALSE(entry.getSubscriptionDate().has_value());
581 EXPECT_FALSE(entry.hasRedemptionDate());
582 EXPECT_FALSE(entry.getRedemptionDate().has_value());