2 // ReferenceListTest.cs - NUnit Test Cases for ReferenceList
5 // Sebastien Pouliot (spouliot@motus.com)
7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com)
10 using NUnit.Framework;
11 using Microsoft.Web.Services.Security;
13 using System.Collections;
16 namespace MonoTests.MS.Web.Services.Security {
19 public class ReferenceListTest : Assertion {
21 private const string Empty = "<xenc:ReferenceList xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\" />";
22 private const string One = "<xenc:ReferenceList xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\"><xenc:DataReference URI=\"#mono\" /></xenc:ReferenceList>";
23 private const string NotLocalUri = "<xenc:ReferenceList xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\"><xenc:DataReference URI=\"mono\" /></xenc:ReferenceList>";
24 private const string NotDataReference = "<xenc:ReferenceList xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\"><xenc:Reference URI=\"#mono\" /></xenc:ReferenceList>";
27 public void Constructor ()
29 ReferenceList rl = new ReferenceList ();
30 AssertNotNull ("Constructor()", rl);
34 public void ConstructorXmlElement ()
36 XmlDocument doc = new XmlDocument ();
38 ReferenceList rl = new ReferenceList (doc.DocumentElement);
39 AssertNotNull ("Constructor(XmlElement)", rl);
43 [ExpectedException (typeof (ArgumentNullException))]
44 public void ConstructorXmlElementNull ()
46 ReferenceList rl = new ReferenceList (null);
52 ReferenceList rl = new ReferenceList ();
54 Assert ("Add/Contains(mono)", rl.Contains ("mono"));
55 Assert ("Add/Contains(#mono)", rl.Contains ("#mono"));
59 public void AddSharp ()
61 ReferenceList rl = new ReferenceList ();
63 Assert ("Add/Contains(mono)", rl.Contains ("mono"));
64 Assert ("Add/Contains(#mono)", rl.Contains ("#mono"));
65 Assert ("Add/Contains(##mono)", !rl.Contains ("##mono"));
69 [ExpectedException (typeof (ArgumentNullException))]
70 public void AddNull ()
72 ReferenceList rl = new ReferenceList ();
77 public void Contains ()
79 ReferenceList rl = new ReferenceList ();
81 Assert ("Contains(mono)", rl.Contains ("mono"));
82 Assert ("Contains(#mono)", rl.Contains ("#mono"));
83 Assert ("!Contains(nomo)", !rl.Contains ("nomo"));
87 [ExpectedException (typeof (ArgumentNullException))]
88 public void ContainsNull ()
90 ReferenceList rl = new ReferenceList ();
91 Assert ("Contains", rl.Contains (null));
95 public void GetEnumetator ()
97 ReferenceList rl = new ReferenceList ();
98 IEnumerator e = rl.GetEnumerator ();
99 AssertNotNull ("GetEnumerator", e);
103 public void ListWithEnumerator ()
105 ReferenceList rl = new ReferenceList ();
106 for (int i=0; i < 16; i++) {
107 rl.Add ("mono" + i.ToString ());
110 foreach (string s in rl) {
111 Assert (s.StartsWith ("mono"));
114 AssertEquals ("Count", 16, n);
118 public void GetXml_Empty ()
120 ReferenceList rl = new ReferenceList ();
121 XmlDocument doc = new XmlDocument ();
122 XmlElement xel = rl.GetXml (doc);
123 AssertEquals ("GetXml_Empty", Empty, xel.OuterXml);
127 public void GetXml_One ()
129 ReferenceList rl = new ReferenceList ();
131 XmlDocument doc = new XmlDocument ();
132 XmlElement xel = rl.GetXml (doc);
133 AssertEquals ("GetXml_One", One, xel.OuterXml);
137 [ExpectedException (typeof (ArgumentNullException))]
138 public void GetXmlNull ()
140 ReferenceList rl = new ReferenceList ();
145 public void LoadXml_Empty ()
147 ReferenceList rl = new ReferenceList ();
148 XmlDocument doc = new XmlDocument ();
150 rl.LoadXml (doc.DocumentElement);
151 Assert ("LoadXml_Empty-Contains(mono)", !rl.Contains ("mono"));
152 Assert ("LoadXml_Empty-Contains(#mono)", !rl.Contains ("#mono"));
156 public void LoadXml_One ()
158 ReferenceList rl = new ReferenceList ();
159 XmlDocument doc = new XmlDocument ();
161 rl.LoadXml (doc.DocumentElement);
162 Assert ("LoadXml_One", rl.Contains ("mono"));
163 Assert ("LoadXml_One-Contains(mono)", rl.Contains ("mono"));
164 Assert ("LoadXml_One-Contains(#mono)", rl.Contains ("#mono"));
168 public void LoadXml_NotLocalUri ()
170 ReferenceList rl = new ReferenceList ();
171 XmlDocument doc = new XmlDocument ();
172 doc.LoadXml (NotLocalUri); // mono, not #mono
173 rl.LoadXml (doc.DocumentElement);
174 Assert ("LoadXml_NotLocalUri-Contains(mono)", rl.Contains ("mono"));
175 Assert ("LoadXml_NotLocalUri-Contains(#mono)", rl.Contains ("#mono"));
179 public void LoadXml_NotDataReference ()
181 ReferenceList rl = new ReferenceList ();
182 XmlDocument doc = new XmlDocument ();
183 doc.LoadXml (NotDataReference);
184 rl.LoadXml (doc.DocumentElement);
185 Assert ("LoadXml_NotDataReference(mono)", !rl.Contains ("mono"));
186 Assert ("LoadXml_NotDataReference(#mono)", !rl.Contains ("#mono"));
190 [ExpectedException (typeof (ArgumentException))]
191 public void LoadXml_BadLocalName ()
193 ReferenceList rl = new ReferenceList ();
194 XmlDocument doc = new XmlDocument ();
195 doc.LoadXml ("<xenc:RefList xmlns:xenc=\"http://www.w3.org/2001/04/xmlenc#\" />");
196 rl.LoadXml (doc.DocumentElement);
200 [ExpectedException (typeof (ArgumentException))]
201 public void LoadXml_BadNamespace ()
203 ReferenceList rl = new ReferenceList ();
204 XmlDocument doc = new XmlDocument ();
205 doc.LoadXml ("<xenc:ReferenceList xmlns:xenc=\"http://www.w3.org/2201/04/xmlenc#\" />");
206 rl.LoadXml (doc.DocumentElement);
210 [ExpectedException (typeof (ArgumentNullException))]
211 public void LoadXmlNull ()
213 ReferenceList rl = new ReferenceList ();