public override void PerformTest()
{
//CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509CertificateParser cf = new X509CertificateParser();
X509Certificate rootCert = (X509Certificate) cf.ReadCertificate(CertPathTest.rootCertBin);
X509Certificate interCert = (X509Certificate) cf.ReadCertificate(CertPathTest.interCertBin);
X509Certificate finalCert = (X509Certificate) cf.ReadCertificate(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.GetHashCode() != pair2.GetHashCode())
{
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.Forward != rootCert)
{
Fail("pair1 forward test");
}
if (pair1.Reverse != interCert)
{
Fail("pair1 reverse test");
}
if (!AreEqual(pair1.GetEncoded(), pair2.GetEncoded()))
{
Fail("encoding check");
}
pair4 = new X509CertificatePair(rootCert, TestUtilities.CreateExceptionCertificate(false));
try
{
pair4.GetEncoded();
Fail("no exception on bad GetEncoded()");
}
catch (CertificateEncodingException)
{
// expected
}
pair4 = new X509CertificatePair(rootCert, TestUtilities.CreateExceptionCertificate(true));
try
{
pair4.GetEncoded();
Fail("no exception on exception GetEncoded()");
}
catch (CertificateEncodingException)
{
// expected
}
}