New test.
[mono.git] / mcs / class / corlib / Test / System.Security.Cryptography / HMACSHA512Test.cs
1 //
2 // HMACSHA512Test.cs - NUnit Test Cases for HMACSHA512
3 //
4 // Author:
5 //      Sebastien Pouliot  <sebastien@ximian.com>
6 //
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
8 // Copyright (C) 2006 Novell, Inc (http://www.novell.com)
9 //
10
11 #if NET_2_0
12
13 using NUnit.Framework;
14 using System;
15 using System.IO;
16 using System.Security.Cryptography;
17 using System.Text;
18
19 namespace MonoTests.System.Security.Cryptography {
20
21         [TestFixture]
22         public class HMACSHA512Test : KeyedHashAlgorithmTest {
23
24                 protected HMACSHA512 algo;
25
26                 [SetUp]
27                 protected override void SetUp () 
28                 {
29                         algo = new HMACSHA512 ();
30                         algo.Key = new byte [8];
31                         hash = algo;
32                 }
33
34                 [Test]
35                 public void Constructors () 
36                 {
37                         algo = new HMACSHA512 ();
38                         AssertNotNull ("HMACSHA512 ()", algo);
39
40                         byte[] key = new byte [8];
41                         algo = new HMACSHA512 (key);
42                         AssertNotNull ("HMACSHA512 (key)", algo);
43                 }
44
45                 [Test]
46                 [ExpectedException (typeof (NullReferenceException))]
47                 public void Constructor_Null () 
48                 {
49                         new HMACSHA512 (null);
50                 }
51
52                 [Test]
53                 public void Invariants () 
54                 {
55                         algo = new HMACSHA512 ();
56                         AssertEquals ("HMACSHA512.CanReuseTransform", true, algo.CanReuseTransform);
57                         AssertEquals ("HMACSHA512.CanTransformMultipleBlocks", true, algo.CanTransformMultipleBlocks);
58                         AssertEquals ("HMACSHA512.HashName", "SHA512", algo.HashName);
59                         AssertEquals ("HMACSHA512.HashSize", 512, algo.HashSize);
60                         AssertEquals ("HMACSHA512.InputBlockSize", 1, algo.InputBlockSize);
61                         AssertEquals ("HMACSHA512.OutputBlockSize", 1, algo.OutputBlockSize);
62                         AssertEquals ("HMACSHA512.ToString()", "System.Security.Cryptography.HMACSHA512", algo.ToString ()); 
63                 }
64         }
65 }
66
67 #endif