-//\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(RNGCryptoServiceProviderTest));\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
+//
+// TestSuite.System.Security.Cryptography.RNGCryptoServiceProviderTest.cs
+//
+// Authors:
+// Mark Crichton (crichton@gimp.org)
+// Sebastien Pouliot (sebastien@ximian.com)
+//
+// Copyright (C) 2004 Novell (http://www.novell.com)
+//
+
+using System;
+using System.Security.Cryptography;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Security.Cryptography {
+
+ [TestFixture]
+ public class RNGCryptoServiceProviderTest : Assertion {
+
+ private RNGCryptoServiceProvider _algo;
+
+ [SetUp]
+ public void SetUp ()
+ {
+ _algo = new RNGCryptoServiceProvider ();
+ }
+
+ [Test]
+ public void ConstructorByteArray ()
+ {
+ byte[] array = new byte [16];
+ byte[] seed = (byte[]) array.Clone ();
+ RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider (seed);
+ AssertEquals ("Seed", BitConverter.ToString (array), BitConverter.ToString (seed));
+ }
+
+ [Test]
+ public void ConstructorByteArray_Null ()
+ {
+ byte[] array = null;
+ RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider (array);
+ }
+
+ [Test]
+ public void ConstructorCsp_Null ()
+ {
+ CspParameters csp = null;
+ RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider (csp);
+ }
+
+ [Test]
+ public void ConstructorString ()
+ {
+ string s = "Mono seed";
+ RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider (s);
+ AssertEquals ("Seed", "Mono seed", s);
+ }
+
+ [Test]
+ public void ConstructorString_Null ()
+ {
+ string s = null;
+ RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider (s);
+ }
+
+ [Test]
+ public void GetBytes ()
+ {
+ byte[] random = new byte [25];
+ // The C code doesn't throw an exception yet.
+ _algo.GetBytes (random);
+ }
+
+ [Test]
+ public void GetNonZeroBytes ()
+ {
+ byte[] random = new byte [25];
+ // This one we can check...
+ _algo.GetNonZeroBytes (random);
+
+ foreach (Byte rnd_byte in random) {
+ Assert("Properties (2)", rnd_byte != 0);
+ }
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void GetBytesNull ()
+ {
+ _algo.GetBytes (null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void GetNonZeroBytesNull ()
+ {
+ _algo.GetNonZeroBytes (null);
+ }
+ }
+}