Jelajahi Sumber

2005-01-13 Sebastien Pouliot <[email protected]>

	* AsnEncodedDataTest.cs: Added tests for Oid, RawData properties and
	for CopyFrom method.
	* CryptographicAttributeTest.cs: Updated to NUnit 2.2 tests.


svn path=/trunk/mcs/; revision=38920
Sebastien Pouliot 21 tahun lalu
induk
melakukan
8ec4552b07

+ 74 - 1
mcs/class/System.Security/Test/System.Security.Cryptography/AsnEncodedDataTest.cs

@@ -81,9 +81,9 @@ namespace MonoTests.System.Security.Cryptography {
 		}
 
 		[Test]
-		// BUG [ExpectedException (typeof (ArgumentNullException))]
 		public void Constructor_OidNullData () 
 		{
+			// this is legal - http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=38336cfa-3b97-47da-ad4e-9522d557f001
 			Oid o = null;
 			AsnEncodedData aed = new AsnEncodedData (o, asnNullBytes);
 			Assert.IsNull (aed.Oid, "Oid");
@@ -128,6 +128,79 @@ namespace MonoTests.System.Security.Cryptography {
 			AsnEncodedData aed = new AsnEncodedData (asn);
 		}
 
+		[Test]
+		public void Oid_CreatedNull ()
+		{
+			AsnEncodedData aed = new AsnEncodedData ((Oid)null, asnNullBytes);
+			Assert.IsNull (aed.Oid, "Oid 1");
+			Oid o = new Oid ("1.2.3");
+			aed.Oid = o;
+			Assert.AreEqual ("1.2.3", aed.Oid.Value, "Oid 2");
+			o.Value = "1.2.4";
+			Assert.AreEqual ("1.2.3", aed.Oid.Value, "Oid 3"); // didn't change (copy)
+			aed.Oid = null;
+			Assert.IsNull (aed.Oid, "Oid 4");
+		}
+
+		[Test]
+		public void Oid ()
+		{
+			AsnEncodedData aed = new AsnEncodedData ("1.2.3", asnNullBytes);
+			Assert.AreEqual ("1.2.3", aed.Oid.Value, "Oid 1");
+			aed.Oid.Value = "1.2.4";
+			Assert.AreEqual ("1.2.4", aed.Oid.Value, "Oid 2"); // didn't change (copy)
+			aed.Oid = null;
+			Assert.IsNull (aed.Oid, "Oid 3");
+		}
+
+		[Test]
+		public void RawData_CanModify ()
+		{
+			byte[] data = (byte[])asnNullBytes.Clone ();
+			AsnEncodedData aed = new AsnEncodedData ("1.2.3", data);
+			Assert.AreEqual (asnNullString, aed.Format (true), "Format 1");
+			data[0] = 0x06;
+			Assert.AreEqual (asnNullString, aed.Format (true), "Format 2"); ; // didn't change (copy)
+			aed.RawData[0] = 0x07;
+			Assert.AreEqual ("07 00", aed.Format (true), "Format 3"); // changed!
+		}
+
+		[Test]
+		[ExpectedException (typeof (ArgumentNullException))]
+		public void RawData ()
+		{
+			AsnEncodedData aed = new AsnEncodedData ((Oid)null, asnNullBytes);
+			Assert.AreEqual (asnNullString, aed.Format (true), "Format 1");
+			aed.RawData = null;
+		}
+
+		[Test]
+		[ExpectedException (typeof (ArgumentNullException))]
+		public void CopyFrom_Null ()
+		{
+			AsnEncodedData aed = new AsnEncodedData ((Oid)null, asnNullBytes);
+			aed.CopyFrom (null);
+		}
+
+		[Test]
+		public void CopyFrom ()
+		{
+			Oid o = new Oid ("1.2.3");
+			byte[] data = (byte[])asnNullBytes.Clone ();
+			AsnEncodedData aed = new AsnEncodedData (o, asnNullBytes);
+			AsnEncodedData copy = new AsnEncodedData ((Oid)null, new byte [0]);
+			copy.CopyFrom (aed);
+
+			Assert.AreEqual (aed.Oid.Value, copy.Oid.Value, "Oid 1");
+			Assert.AreEqual (aed.Format (true), copy.Format (true), "Format 1");
+
+			aed.Oid = new Oid ("1.2.4");
+			aed.RawData = new byte[1];
+
+			Assert.AreEqual ("1.2.3", copy.Oid.Value, "Oid 2");
+			Assert.AreEqual (asnNullString, copy.Format (true), "Format 2");
+		}
+
 		[Test]
 		public void Format () 
 		{

+ 6 - 0
mcs/class/System.Security/Test/System.Security.Cryptography/ChangeLog

@@ -1,3 +1,9 @@
+2005-01-13  Sebastien Pouliot  <[email protected]>
+
+	* AsnEncodedDataTest.cs: Added tests for Oid, RawData properties and
+	for CopyFrom method.
+	* CryptographicAttributeTest.cs: Updated to NUnit 2.2 tests.
+
 2004-07-09  Sebastien Pouliot  <[email protected]>
 
 	* AsnEncodedDataTest.cs: Fixed for Fx 2.0 beta1.

+ 12 - 12
mcs/class/System.Security/Test/System.Security.Cryptography/CryptographicAttributeTest.cs

@@ -5,7 +5,7 @@
 //	Sebastien Pouliot  <[email protected]>
 //
 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -38,7 +38,7 @@ using System.Security.Cryptography;
 namespace MonoTests.System.Security.Cryptography {
 
 	[TestFixture]
-	public class CryptographicAttributeTest : Assertion {
+	public class CryptographicAttributeTest {
 
 		static string defaultOid = "1.2.840.113549.1.7.1";
 		static string defaultName = "PKCS 7 Data";
@@ -48,9 +48,9 @@ namespace MonoTests.System.Security.Cryptography {
 		{
 			Oid o = new Oid (defaultOid);
 			CryptographicAttribute ca = new CryptographicAttribute (o);
-			AssertEquals ("Oid.FriendlyName", defaultName, ca.Oid.FriendlyName);
-			AssertEquals ("Oid.Value", defaultOid, ca.Oid.Value);
-			AssertEquals ("Values", 0, ca.Values.Count);
+			Assert.AreEqual (defaultName, ca.Oid.FriendlyName, "Oid.FriendlyName");
+			Assert.AreEqual (defaultOid, ca.Oid.Value, "Oid.Value");
+			Assert.AreEqual (0, ca.Values.Count, "Values");
 		}
 
 		[Test]
@@ -66,11 +66,11 @@ namespace MonoTests.System.Security.Cryptography {
 			Oid o = new Oid (defaultOid);
 			AsnEncodedDataCollection coll = new AsnEncodedDataCollection ();
 			CryptographicAttribute ca = new CryptographicAttribute (o, coll);
-			AssertEquals ("Oid.FriendlyName", defaultName, ca.Oid.FriendlyName);
-			AssertEquals ("Oid.Value", defaultOid, ca.Oid.Value);
-			AssertEquals ("Values", 0, ca.Values.Count);
+			Assert.AreEqual (defaultName, ca.Oid.FriendlyName, "Oid.FriendlyName");
+			Assert.AreEqual (defaultOid, ca.Oid.Value, "Oid.Value");
+			Assert.AreEqual (0, ca.Values.Count, "Values - 0");
 			coll.Add (new AsnEncodedData (new byte [0]));
-			AssertEquals ("Values", 1, ca.Values.Count);
+			Assert.AreEqual (1, ca.Values.Count, "Values - 1");
 		}
 
 		[Test]
@@ -87,9 +87,9 @@ namespace MonoTests.System.Security.Cryptography {
 			Oid o = new Oid (defaultOid);
 			AsnEncodedDataCollection coll = null;
 			CryptographicAttribute ca = new CryptographicAttribute (o, coll);
-			AssertEquals ("Oid.FriendlyName", defaultName, ca.Oid.FriendlyName);
-			AssertEquals ("Oid.Value", defaultOid, ca.Oid.Value);
-			AssertEquals ("Values", 0, ca.Values.Count);
+			Assert.AreEqual (defaultName, ca.Oid.FriendlyName, "Oid.FriendlyName");
+			Assert.AreEqual (defaultOid, ca.Oid.Value, "Oid.Value");
+			Assert.AreEqual (0, ca.Values.Count, "Values");
 		}
 	}
 }