Test for the RNGCryptoServiceProvider class. Hopefully it is correct...
authorMark Crichton <crichton@mono-cvs.ximian.com>
Thu, 21 Feb 2002 18:52:44 +0000 (18:52 -0000)
committerMark Crichton <crichton@mono-cvs.ximian.com>
Thu, 21 Feb 2002 18:52:44 +0000 (18:52 -0000)
svn path=/trunk/mcs/; revision=2578

mcs/class/corlib/Test/ChangeLog
mcs/class/corlib/Test/System.Security.Cryptography/AllTests.cs
mcs/class/corlib/Test/System.Security.Cryptography/RNGCryptoServiceProviderTest.cs [new file with mode: 0644]

index eadcb2480daa06647760c12bf146354a123b4171..a347f563f27d981a301ecb3b1310eb27c5692698 100644 (file)
@@ -1,3 +1,9 @@
+2002-02-21  Mark Crichton <crichton@gimp.org>
+
+       * Addded System.Security.Cryptography.RNGCryptoServiceProviderTest.cs
+       * System.Security.Cryptography/AllTests.cs: Added
+       RNGCryptoServiceProviderTest.
+
 2002-02-17  Duco Fijma <duco@lorentz.xs4all.nl>\r
        * Added System/GuidTest.cs\r
 \r
index 86990747c0a3728f40ba50a89d66000c8575dcd9..96b1e4f2500874204f4dfa5ffc350ecbe2135530 100644 (file)
@@ -21,7 +21,8 @@ namespace MonoTests.System.Security.Cryptography {
                         {\r
                                 TestSuite suite =  new TestSuite();\r
                                 suite.AddTest(SymmetricAlgorithmTest.Suite);\r
-                               suite.AddTest(AsymmetricAlgorithmTest.Suite);   \r
+                               suite.AddTest(AsymmetricAlgorithmTest.Suite); \r
+                               suite.AddTest(RNGCryptoServiceProviderTest.Suite);\r
                                 return suite;\r
                         }\r
                 }\r
diff --git a/mcs/class/corlib/Test/System.Security.Cryptography/RNGCryptoServiceProviderTest.cs b/mcs/class/corlib/Test/System.Security.Cryptography/RNGCryptoServiceProviderTest.cs
new file mode 100644 (file)
index 0000000..8e1a7a0
--- /dev/null
@@ -0,0 +1,52 @@
+//\r
+// TestSuite.System.Security.Cryptography.RNGCryptoServiceProviderTest.cs\r
+//\r
+// Author:\r
+//      Mark Crichton (crichton@gimp.org)\r
+//\r
+\r
+\r
+using System;\r
+using System.Security.Cryptography;\r
+\r
+using NUnit.Framework;\r
+\r
+namespace MonoTests.System.Security.Cryptography {\r
+\r
+       public class RNGCryptoServiceProviderTest : TestCase {\r
+               private RNGCryptoServiceProvider _algo;\r
+               \r
+               public RNGCryptoServiceProviderTest(String name) : base(name) {\r
+                       _algo = null;\r
+               }\r
+               \r
+               public static ITest Suite {\r
+                       get {\r
+                               return new TestSuite(typeof(RNGCryptoServiceProvider));\r
+                       }\r
+               }\r
+\r
+               protected override void SetUp() {\r
+                       _algo = new RNGCryptoServiceProvider();\r
+               }\r
+\r
+               private void SetDefaultData() {\r
+               }\r
+               \r
+               public void TestProperties() {\r
+                       Assert("Properties (1)", _algo != null);\r
+                       \r
+                       byte[] random = new Byte[25];\r
+\r
+                       // The C code doesn't throw an exception yet.\r
+                       _algo.GetBytes(random);\r
+                       \r
+                       // This one we can check...\r
+                       _algo.GetNonZeroBytes(random);\r
+                       \r
+                       foreach (Byte rnd_byte in random) {\r
+                               Assert("Properties (2)", rnd_byte != 0);\r
+                       }\r
+               }\r
+       }\r
+}\r