(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / System.XML / Test / System.Xml / XmlCharacterDataTests.cs
blob9634ceae451a135bbde532688472cc097eb44f6e
1 //
2 // System.Xml.XmlTextWriterTests
3 //
4 // Author: Kral Ferch <kral_ferch@hotmail.com>
5 // Author: Martin Willemoes Hansen <mwh@sysrq.dk>
6 //
7 // (C) 2002 Kral Ferch
8 // (C) 2003 Martin Willemoes Hansen
9 //
11 using System;
12 using System.Xml;
14 using NUnit.Framework;
16 namespace MonoTests.System.Xml
18 [TestFixture]
19 public class XmlCharacterDataTests : Assertion
21 XmlDocument document;
22 XmlComment comment;
23 bool changed;
24 bool changing;
26 [SetUp]
27 public void GetReady ()
29 document = new XmlDocument ();
30 document.NodeChanged += new XmlNodeChangedEventHandler (this.EventNodeChanged);
31 document.NodeChanging += new XmlNodeChangedEventHandler (this.EventNodeChanging);
32 comment = document.CreateComment ("foo");
35 private void EventNodeChanged(Object sender, XmlNodeChangedEventArgs e)
37 changed = true;
40 private void EventNodeChanging (Object sender, XmlNodeChangedEventArgs e)
42 changing = true;
45 [Test]
46 public void AppendData ()
48 changed = false;
49 changing = false;
50 comment.AppendData ("bar");
51 Assert (changed);
52 Assert (changing);
53 AssertEquals ("foobar", comment.Data);
55 comment.Value = "foo";
56 comment.AppendData (null);
57 AssertEquals ("foo", comment.Data);
60 [Test]
61 public void DeleteData ()
63 comment.Value = "bar";
64 changed = false;
65 changing = false;
66 comment.DeleteData (1, 1);
67 Assert (changed);
68 Assert (changing);
69 AssertEquals ("br", comment.Data);
71 try
73 comment.Value = "foo";
74 comment.DeleteData(-1, 1);
75 Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
77 catch (ArgumentOutOfRangeException) {}
79 comment.Value = "foo";
80 comment.DeleteData(1, 5);
81 AssertEquals("f", comment.Data);
83 comment.Value = "foo";
84 comment.DeleteData(3, 10);
85 AssertEquals("foo", comment.Data);
88 [Test]
89 public void InsertData ()
91 comment.Value = "foobaz";
92 changed = false;
93 changing = false;
94 comment.InsertData (3, "bar");
95 Assert (changed);
96 Assert (changing);
97 AssertEquals ("foobarbaz", comment.Data);
99 try
101 comment.Value = "foo";
102 comment.InsertData (-1, "bar");
103 Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
105 catch (ArgumentOutOfRangeException) {}
107 comment.Value = "foo";
108 comment.InsertData (3, "bar");
109 AssertEquals ("foobar", comment.Data);
111 try
113 comment.Value = "foo";
114 comment.InsertData (4, "bar");
115 Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
117 catch (ArgumentOutOfRangeException) {}
119 try
121 comment.Value = "foo";
122 comment.InsertData (1, null);
123 Fail ("Expected an ArgumentNullException to be thrown.");
125 catch (ArgumentNullException) {}
128 [Test]
129 public void ReplaceData ()
131 changed = false;
132 changing = false;
133 comment.ReplaceData (0, 3, "bar");
134 Assert (changed);
135 Assert (changing);
136 AssertEquals ("bar", comment.Data);
138 comment.Value = "foo";
139 comment.ReplaceData (2, 3, "bar");
140 AssertEquals ("fobar", comment.Data);
142 comment.Value = "foo";
143 comment.ReplaceData (3, 3, "bar");
144 AssertEquals ("foobar", comment.Data);
146 try
148 comment.Value = "foo";
149 comment.ReplaceData (4, 3, "bar");
150 Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
152 catch (ArgumentOutOfRangeException) {}
154 try
156 comment.Value = "foo";
157 comment.ReplaceData (-1, 3, "bar");
158 Fail ("Expected an ArgumentOutOfRangeException to be thrown.");
160 catch (ArgumentOutOfRangeException) {}
162 comment.Value = "foo";
163 comment.ReplaceData (0, 2, "bar");
164 AssertEquals ("baro", comment.Data);
166 comment.Value = "foo";
167 comment.ReplaceData (0, 5, "bar");
168 AssertEquals ("bar", comment.Data);
170 try
172 comment.Value = "foo";
173 comment.ReplaceData (1, 1, null);
174 Fail ("Expected an ArgumentNullException to be thrown.");
176 catch (ArgumentNullException) {}
179 [Test]
180 public void Substring ()
182 comment.Value = "test string";
183 AssertEquals ("test string", comment.Substring (0, 50));
186 [Test]
187 [ExpectedException (typeof (ArgumentOutOfRangeException))]
188 public void SubstringStartOutOfRange ()
190 comment.Value = "test string";
191 comment.Substring (-5, 10);
194 [Test]
195 [ExpectedException (typeof (ArgumentOutOfRangeException))]
196 public void SubstringCountOutOfRange ()
198 comment.Value = "test string";
199 comment.Substring (10, -5);