1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
//
// 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);
}
}
}
|