diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java new file mode 100644 index 0000000..baf0750 --- /dev/null +++ b/bcprov/src/main/java/org/bouncycastle/asn1/test/AdditionalInformationSyntaxUnitTest.java @@ -0,0 +1,69 @@ +package org.bouncycastle.asn1.test; + +import java.io.IOException; + +import org.bouncycastle.asn1.ASN1InputStream; +import org.bouncycastle.asn1.ASN1String; +import org.bouncycastle.asn1.isismtt.x509.AdditionalInformationSyntax; +import org.bouncycastle.asn1.x500.DirectoryString; + +public class AdditionalInformationSyntaxUnitTest + extends ASN1UnitTest +{ + public String getName() + { + return "AdditionalInformationSyntax"; + } + + public void performTest() + throws Exception + { + AdditionalInformationSyntax syntax = new AdditionalInformationSyntax("hello world"); + + checkConstruction(syntax, new DirectoryString("hello world")); + + try + { + AdditionalInformationSyntax.getInstance(new Object()); + + fail("getInstance() failed to detect bad object."); + } + catch (IllegalArgumentException e) + { + // expected + } + } + + private void checkConstruction( + AdditionalInformationSyntax syntax, + DirectoryString information) + throws IOException + { + checkValues(syntax, information); + + syntax = AdditionalInformationSyntax.getInstance(syntax); + + checkValues(syntax, information); + + ASN1InputStream aIn = new ASN1InputStream(syntax.toASN1Object().getEncoded()); + + ASN1String info = (ASN1String)aIn.readObject(); + + syntax = AdditionalInformationSyntax.getInstance(info); + + checkValues(syntax, information); + } + + private void checkValues( + AdditionalInformationSyntax syntax, + DirectoryString information) + { + checkMandatoryField("information", information, syntax.getInformation()); + } + + public static void main( + String[] args) + { + runTest(new AdditionalInformationSyntaxUnitTest()); + } +} |