diff options
author | Sergio Giro <sgiro@google.com> | 2016-02-01 18:52:42 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-02-01 18:52:42 +0000 |
commit | 9218edabd1ef9852bc2f13115dcadc81b442dd6c (patch) | |
tree | 8229ff72c8cbb06f49dce3a8382930919fa6fc2b /bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java | |
parent | 9b30eb05e5be69d51881a0d1b31e503e97acd784 (diff) | |
parent | 397d32894b89b506dc318e0f83446187c9b76ebe (diff) | |
download | android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.tar.gz android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.tar.bz2 android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.zip |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge-152-from-upstream"
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java new file mode 100644 index 0000000..8456661 --- /dev/null +++ b/bcprov/src/main/java/org/bouncycastle/asn1/test/MonetaryLimitUnitTest.java @@ -0,0 +1,85 @@ +package org.bouncycastle.asn1.test; + +import org.bouncycastle.asn1.ASN1InputStream; +import org.bouncycastle.asn1.ASN1Sequence; +import org.bouncycastle.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()); + } +} |