new ByteArrayInputStream(CertPathTest.interCertBin));
X509Certificate finalCert = (X509Certificate)cf.generateCertificate(
new ByteArrayInputStream(CertPathTest.finalCertBin));
X509CertificatePair pair1 = new X509CertificatePair(rootCert, interCert);
X509CertificatePair pair2 = new X509CertificatePair(rootCert, interCert);
X509CertificatePair pair3 = new X509CertificatePair(interCert, finalCert);
X509CertificatePair pair4 = new X509CertificatePair(rootCert, finalCert);
X509CertificatePair pair5 = new X509CertificatePair(rootCert, null);
X509CertificatePair pair6 = new X509CertificatePair(rootCert, null);
X509CertificatePair pair7 = new X509CertificatePair(null, rootCert);
X509CertificatePair pair8 = new X509CertificatePair(null, rootCert);
if (!pair1.equals(pair2))
{
fail("pair1 pair2 equality test");
}
if (!pair5.equals(pair6))
{
fail("pair1 pair2 equality test");
}
if (!pair7.equals(pair8))
{
fail("pair1 pair2 equality test");
}
if (pair1.equals(null))
{
fail("pair1 null equality test");
}
if (pair1.hashCode() != pair2.hashCode())
{
fail("pair1 pair2 hashCode equality test");
}
if (pair1.equals(pair3))
{
fail("pair1 pair3 inequality test");
}
if (pair1.equals(pair4))
{
fail("pair1 pair4 inequality test");
}
if (pair1.equals(pair5))
{
fail("pair1 pair5 inequality test");
}
if (pair1.equals(pair7))
{
fail("pair1 pair7 inequality test");
}
if (pair5.equals(pair1))
{
fail("pair5 pair1 inequality test");
}
if (pair7.equals(pair1))
{
fail("pair7 pair1 inequality test");
}
if (pair1.getForward() != rootCert)
{
fail("pair1 forward test");
}
if (pair1.getReverse() != interCert)
{
fail("pair1 reverse test");
}
if (!areEqual(pair1.getEncoded(), pair2.getEncoded()))
{
fail("encoding check");
}
pair4 = new X509CertificatePair(rootCert, TestUtils.createExceptionCertificate(false));
try
{
pair4.getEncoded();
fail("no exception on bad getEncoded()");
}
catch (CertificateEncodingException e)
{
// expected
}
pair4 = new X509CertificatePair(rootCert, TestUtils.createExceptionCertificate(true));
try
{
pair4.getEncoded();