New test.
[mono.git] / mcs / class / corlib / Test / System.Security.Cryptography / HMACSHA384Test.cs
1 //
2 // HMACSHA384Test.cs - NUnit Test Cases for HMACSHA384
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 HMACSHA384Test : KeyedHashAlgorithmTest {
23
24                 protected HMACSHA384 algo;
25
26                 [SetUp]
27                 protected override void SetUp () 
28                 {
29                         algo = new HMACSHA384 ();
30                         algo.Key = new byte [8];
31                         hash = algo;
32                 }
33
34                 [Test]
35                 public void Constructors () 
36                 {
37                         algo = new HMACSHA384 ();
38                         AssertNotNull ("HMACSHA384 ()", algo);
39
40                         byte[] key = new byte [8];
41                         algo = new HMACSHA384 (key);
42                         AssertNotNull ("HMACSHA384 (key)", algo);
43                 }
44
45                 [Test]
46                 [ExpectedException (typeof (NullReferenceException))]
47                 public void Constructor_Null () 
48                 {
49                         new HMACSHA384 (null);
50                 }
51
52                 [Test]
53                 public void Invariants () 
54                 {
55                         algo = new HMACSHA384 ();
56                         AssertEquals ("HMACSHA384.CanReuseTransform", true, algo.CanReuseTransform);
57                         AssertEquals ("HMACSHA384.CanTransformMultipleBlocks", true, algo.CanTransformMultipleBlocks);
58                         AssertEquals ("HMACSHA384.HashName", "SHA384", algo.HashName);
59                         AssertEquals ("HMACSHA384.HashSize", 384, algo.HashSize);
60                         AssertEquals ("HMACSHA384.InputBlockSize", 1, algo.InputBlockSize);
61                         AssertEquals ("HMACSHA384.OutputBlockSize", 1, algo.OutputBlockSize);
62                         AssertEquals ("HMACSHA384.ToString()", "System.Security.Cryptography.HMACSHA384", algo.ToString ()); 
63                 }
64         }
65 }
66
67 #endif