diff options
Diffstat (limited to 'core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java')
-rw-r--r-- | core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java b/core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java new file mode 100644 index 00000000..02a59b4b --- /dev/null +++ b/core/src/test/java/org/spongycastle/asn1/test/MonetaryLimitUnitTest.java @@ -0,0 +1,85 @@ +package org.spongycastle.asn1.test; + +import org.spongycastle.asn1.ASN1InputStream; +import org.spongycastle.asn1.ASN1Sequence; +import org.spongycastle.asn1.isismtt.x509.MonetaryLimit; + +import java.io.IOException; + +public class MonetaryLimitUnitTest + extends ASN1UnitTest +{ + public String getName() + { + return "MonetaryLimit"; + } + + public void performTest() + throws Exception + { + String currency = "AUD"; + int amount = 1; + int exponent = 2; + + MonetaryLimit limit = new MonetaryLimit(currency, amount, exponent); + + checkConstruction(limit, currency, amount, exponent); + + limit = MonetaryLimit.getInstance(null); + + if (limit != null) + { + fail("null getInstance() failed."); + } + + try + { + MonetaryLimit.getInstance(new Object()); + + fail("getInstance() failed to detect bad object."); + } + catch (IllegalArgumentException e) + { + // expected + } + } + + private void checkConstruction( + MonetaryLimit limit, + String currency, + int amount, + int exponent) + throws IOException + { + checkValues(limit, currency, amount, exponent); + + limit = MonetaryLimit.getInstance(limit); + + checkValues(limit, currency, amount, exponent); + + ASN1InputStream aIn = new ASN1InputStream(limit.toASN1Object().getEncoded()); + + ASN1Sequence seq = (ASN1Sequence)aIn.readObject(); + + limit = MonetaryLimit.getInstance(seq); + + checkValues(limit, currency, amount, exponent); + } + + private void checkValues( + MonetaryLimit limit, + String currency, + int amount, + int exponent) + { + checkMandatoryField("currency", currency, limit.getCurrency()); + checkMandatoryField("amount", amount, limit.getAmount().intValue()); + checkMandatoryField("exponent", exponent, limit.getExponent().intValue()); + } + + public static void main( + String[] args) + { + runTest(new MonetaryLimitUnitTest()); + } +} |