2002-02-28 Nick Drochak <ndrochak@gol.com>
[mono.git] / mcs / class / corlib / Test / System.Security.Cryptography / RNGCryptoServiceProviderTest.cs
1 //\r
2 // TestSuite.System.Security.Cryptography.RNGCryptoServiceProviderTest.cs\r
3 //\r
4 // Author:\r
5 //      Mark Crichton (crichton@gimp.org)\r
6 //\r
7 \r
8 \r
9 using System;\r
10 using System.Security.Cryptography;\r
11 \r
12 using NUnit.Framework;\r
13 \r
14 namespace MonoTests.System.Security.Cryptography {\r
15 \r
16         public class RNGCryptoServiceProviderTest : TestCase {\r
17                 private RNGCryptoServiceProvider _algo;\r
18                 \r
19                 public RNGCryptoServiceProviderTest() : base ("MonoTests.System.Security.Cryptography.RNGCryptoServiceProviderTest testcase") {\r
20                         _algo = null;\r
21                 }\r
22                 public RNGCryptoServiceProviderTest(String name) : base(name) {\r
23                         _algo = null;\r
24                 }\r
25                 \r
26                 public static ITest Suite {\r
27                         get {\r
28                                 return new TestSuite(typeof(RNGCryptoServiceProviderTest));\r
29                         }\r
30                 }\r
31 \r
32                 protected override void SetUp() {\r
33                         _algo = new RNGCryptoServiceProvider();\r
34                 }\r
35 \r
36                 private void SetDefaultData() {\r
37                 }\r
38                 \r
39                 public void TestProperties() {\r
40                         Assert("Properties (1)", _algo != null);\r
41                         \r
42                         byte[] random = new Byte[25];\r
43 \r
44                         // The C code doesn't throw an exception yet.\r
45                         _algo.GetBytes(random);\r
46                         \r
47                         // This one we can check...\r
48                         _algo.GetNonZeroBytes(random);\r
49                         \r
50                         foreach (Byte rnd_byte in random) {\r
51                                 Assert("Properties (2)", rnd_byte != 0);\r
52                         }\r
53                 }\r
54         }\r
55 }\r