Merge pull request #1496 from echampet/serializers
[mono.git] / mcs / class / System / Test / System.Security.Cryptography / OidEnumeratorTest.cs
1 //
2 // OidEnumeratorTest.cs - NUnit tests for OidEnumerator
3 //
4 // Author:
5 //      Sebastien Pouliot (spouliot@motus.com)
6 //
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
8 //
9
10
11 using NUnit.Framework;
12
13 using System;
14 using System.Security.Cryptography;
15
16 namespace MonoTests.System.Security.Cryptography {
17
18         [TestFixture]
19         public class OidEnumeratorTest {
20                 private OidEnumerator GetEnumerator () 
21                 {
22                         OidCollection oc = new OidCollection ();
23                         oc.Add (new Oid ("1.0"));
24                         oc.Add (new Oid ("1.1"));
25                         oc.Add (new Oid ("1.2"));
26                         return oc.GetEnumerator ();
27                 }
28
29                 [Test]
30                 [ExpectedException (typeof (ArgumentOutOfRangeException))]
31                 public void Current_BeforeFirstElement ()
32                 {
33                         OidEnumerator enumerator = GetEnumerator ();
34                         Oid oid = enumerator.Current;
35                 }
36
37                 [Test]
38                 public void Current () 
39                 {
40                         OidEnumerator enumerator = GetEnumerator ();
41                         enumerator.MoveNext ();
42                         Oid oid = enumerator.Current;
43                         Assert.IsNotNull (oid, "Current");
44                 }
45
46                 [Test]
47                 public void Current_AfterLastElement ()
48                 {
49                         OidEnumerator enumerator = GetEnumerator ();
50                         while (enumerator.MoveNext ());
51                         Oid oid = enumerator.Current;
52                         Assert.IsNotNull (oid, "Current_AfterLastElement");
53                         Assert.AreEqual ("1.2", oid.Value, "Current==last");
54                 }
55
56                 [Test]
57                 public void MoveNext () 
58                 {
59                         OidEnumerator enumerator = GetEnumerator ();
60                         int n = 0;
61                         while (enumerator.MoveNext ()) {
62                                 n++;
63                         }
64                         Assert.AreEqual (3, n, "MoveNext");
65                 }
66
67                 [Test]
68                 [ExpectedException (typeof (ArgumentOutOfRangeException))]
69                 public void Reset () 
70                 {
71                         OidEnumerator enumerator = GetEnumerator ();
72                         enumerator.MoveNext ();
73                         Assert.IsNotNull (enumerator.Current, "Current before reset");
74                         enumerator.Reset ();
75                         Assert.IsNotNull (enumerator.Current, "Current after reset");
76                 }
77         }
78 }
79