blob: 5cfd7a7d12ec561261e2a8001e077b8ab2585dad [file] [log] [blame]
package org.bouncycastle.asn1.test;
import org.bouncycastle.asn1.cmc.BodyPartID;
import org.bouncycastle.util.test.SimpleTest;
public class BodyPartIDTest
extends SimpleTest
{
public void performTest()
throws Exception
{
// Test correct encode / decode
{
// Test encode and decode from Long and from other instance of BodyPartID
BodyPartID bpd = new BodyPartID(10L);
byte[] b = bpd.getEncoded();
BodyPartID resBpd = BodyPartID.getInstance(b);
isEquals("Correct / Encode byte array", resBpd.getID(), bpd.getID());
BodyPartID rootPartID = new BodyPartID(12L);
bpd = BodyPartID.getInstance(rootPartID);
b = bpd.getEncoded();
resBpd = BodyPartID.getInstance(b);
isEquals("Correct / Encode byte array", resBpd.getID(), rootPartID.getID());
}
{
// Test lower limit, should not throw exception
try
{
new BodyPartID(0);
}
catch (Throwable t)
{
fail("Unexpected exception: " + t.getMessage(), t);
}
// Test below lower range
try
{
new BodyPartID(-1);
fail("Expecting IllegalArgumentException because of outside lower range");
}
catch (Throwable e)
{
if (!(e instanceof IllegalArgumentException))
{
fail("Expecting only IllegalArgumentException, got:" + e.getMessage(), e);
}
}
}
{
// Test upper limit, should not throw exception.
try
{
new BodyPartID(4294967295L);
}
catch (Throwable t)
{
fail("Unexpected exception: " + t.getMessage(), t);
}
// Test above upper range
try
{
new BodyPartID(4294967296L);
fail("Expecting IllegalArgumentException because of outside upper range");
}
catch (Throwable e)
{
if (!(e instanceof IllegalArgumentException))
{
fail("Expecting only IllegalArgumentException, got:" + e.getMessage(), e);
}
}
}
}
public String getName()
{
return "BodyPartIDTest";
}
public static void main(String[] args)
throws Exception
{
runTest(new BodyPartIDTest());
}
}