2009-06-26 Robert Jordan <robertj@gmx.net>
[mono.git] / mcs / class / System.XML / Test / System.Xml / XmlValidatingReaderTests.cs
index 7a8e58e7caf53e6151acd2a4c087e81f58d5b9d6..552060abdffb8d28cc9ed5af3dc994dbf25a1926 100644 (file)
@@ -15,7 +15,7 @@ using NUnit.Framework;
 namespace MonoTests.System.Xml\r
 {\r
        [TestFixture]\r
-       public class XmlValidatingReaderTests : Assertion\r
+       public class XmlValidatingReaderTests\r
        {\r
                public XmlValidatingReaderTests ()\r
                {\r
@@ -48,7 +48,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        try {\r
                                dvr.Read ();    // invalid element.\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -58,7 +58,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // root\r
                        try {\r
                                dvr.Read ();    // invalid text\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -68,7 +68,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // root\r
                        try {\r
                                dvr.Read ();    // invalid child\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -83,7 +83,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        try {\r
                                dvr.Read ();    // root: invalid end\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -93,7 +93,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // root\r
                        try {\r
                                dvr.Read ();    // invalid end\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -109,7 +109,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // root\r
                        try {\r
                                dvr.Read ();    // invalid element\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -149,7 +149,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // valid #PCDATA\r
                        try {\r
                                dvr.Read ();    // invalid element\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -174,7 +174,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // foo\r
                        try {\r
                                dvr.Read ();    // invalid end root\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -184,7 +184,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // root\r
                        try {\r
                                dvr.Read ();    // invalid element bar\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -201,7 +201,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // foo\r
                        try {\r
                                dvr.Read ();    // invalid element bar\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -226,7 +226,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // foo\r
                        try {\r
                                dvr.Read ();    // invalid text\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -264,7 +264,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // root\r
                        try {\r
                                dvr.Read ();    // bar: invalid (undeclared) element\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -305,7 +305,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        try {\r
                                dvr.Read ();    // missing attributes\r
-                               Fail ("should be failed."); // MS.NET fails to fail this test.\r
+                               Assert.Fail ("should be failed."); // MS.NET fails to fail this test.\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -318,7 +318,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        try {\r
                                dvr.Read ();    // missing attributes\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -339,7 +339,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        try {\r
                                dvr.Read ();    // undeclared attribute baz\r
-                               Fail ("should be failed.");\r
+                               Assert.Fail ("should be failed.");\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -364,29 +364,29 @@ namespace MonoTests.System.Xml
                {\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
-                       AssertEquals (2, dvr.AttributeCount);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
+                       Assert.AreEqual (2, dvr.AttributeCount);\r
                        // foo\r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       AssertEquals ("foo-def", dvr ["foo"]);\r
-                       AssertNotNull (dvr ["bar"]);\r
-                       AssertEquals ("foo-def", dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals ("foo-def", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.AreEqual ("foo-def", dvr ["foo"]);\r
+                       Assert.IsNotNull (dvr ["bar"]);\r
+                       Assert.AreEqual ("foo-def", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual ("foo-def", dvr.Value);\r
                        // bar\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
-                       AssertEquals ("foo-def", dvr ["foo"]);\r
-                       AssertNotNull (dvr ["bar"]);\r
-                       AssertEquals ("bar-def", dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals ("bar-def", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
+                       Assert.AreEqual ("foo-def", dvr ["foo"]);\r
+                       Assert.IsNotNull (dvr ["bar"]);\r
+                       Assert.AreEqual ("bar-def", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual ("bar-def", dvr.Value);\r
                }\r
 \r
                [Test]\r
@@ -399,15 +399,15 @@ namespace MonoTests.System.Xml
                        dvr.EntityHandling = EntityHandling.ExpandEntities;\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       AssertEquals ("entity string", dvr.Value);\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
-                       AssertEquals ("internal entity string value", dvr.Value);\r
-                       AssertEquals ("entity string", dvr.ReadString ());\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.AreEqual ("entity string", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
+                       Assert.AreEqual ("internal entity string value", dvr.Value);\r
+                       Assert.AreEqual ("entity string", dvr.ReadString ());\r
 \r
                        // ValidationType = None\r
 \r
@@ -416,17 +416,17 @@ namespace MonoTests.System.Xml
                        dvr.ValidationType = ValidationType.None;\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
 \r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       AssertEquals ("entity string", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.AreEqual ("entity string", dvr.Value);\r
 \r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
-                       AssertEquals ("internal entity string value", dvr.Value);\r
-                       AssertEquals ("entity string", dvr.ReadString ());\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
+                       Assert.AreEqual ("internal entity string value", dvr.Value);\r
+                       Assert.AreEqual ("entity string", dvr.ReadString ());\r
                }\r
 \r
                [Test]\r
@@ -439,34 +439,34 @@ namespace MonoTests.System.Xml
                        dvr.EntityHandling = EntityHandling.ExpandCharEntities;\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
                        // MS BUG: it returns "entity string", however, entity should not be exanded.\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (!dvr.ReadAttributeValue ());\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (!dvr.ReadAttributeValue ());\r
 \r
                        // bar\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals ("internal ", dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals (" value", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual ("internal ", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual (" value", dvr.Value);\r
 \r
                        // ValidationType = None\r
 \r
@@ -475,35 +475,35 @@ namespace MonoTests.System.Xml
                        dvr.ValidationType = ValidationType.None;\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
 \r
                        // foo\r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (!dvr.ReadAttributeValue ());\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (!dvr.ReadAttributeValue ());\r
 \r
                        // bar\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals ("internal ", dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals (" value", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual ("internal ", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual (" value", dvr.Value);\r
                }\r
 \r
                [Test]\r
@@ -517,35 +517,35 @@ namespace MonoTests.System.Xml
                        dvr.EntityHandling = EntityHandling.ExpandCharEntities;\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       AssertEquals ("entity string", dvr.Value);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.AreEqual ("entity string", dvr.Value);\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (!dvr.ReadAttributeValue ());\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (!dvr.ReadAttributeValue ());\r
 \r
                        // bar\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
-                       AssertEquals ("internal entity string value", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
+                       Assert.AreEqual ("internal entity string value", dvr.Value);\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals ("internal ", dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals (" value", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual ("internal ", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual (" value", dvr.Value);\r
 \r
                        // ValidationType = None\r
 \r
@@ -554,37 +554,37 @@ namespace MonoTests.System.Xml
                        dvr.ValidationType = ValidationType.None;\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
 \r
                        // foo\r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       AssertEquals ("entity string", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.AreEqual ("entity string", dvr.Value);\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (!dvr.ReadAttributeValue ());\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (!dvr.ReadAttributeValue ());\r
 \r
                        // bar\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
-                       AssertEquals ("internal entity string value", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
+                       Assert.AreEqual ("internal entity string value", dvr.Value);\r
                        //  ReadAttributeValue()\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals ("internal ", dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals ("ent", dvr.Name);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
-                       Assert (dvr.ReadAttributeValue ());\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (String.Empty, dvr.Name);\r
-                       AssertEquals (" value", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual ("internal ", dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual ("ent", dvr.Name);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ());\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (String.Empty, dvr.Name);\r
+                       Assert.AreEqual (" value", dvr.Value);\r
                }\r
 \r
                [Test]\r
@@ -602,20 +602,20 @@ namespace MonoTests.System.Xml
                        dvr.EntityHandling = EntityHandling.ExpandEntities;\r
                        dvr.Read ();    // DTD\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals ("root", dvr.Name);\r
-                       Assert (dvr.MoveToFirstAttribute ());\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       AssertEquals ("id1", dvr.Value);\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("bar", dvr.Name);\r
-                       AssertEquals ("nameToken", dvr.Value);\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("baz", dvr.Name);\r
-                       AssertEquals ("list of name token", dvr.Value);\r
-                       Assert (dvr.MoveToNextAttribute ());\r
-                       AssertEquals ("quux", dvr.Name);\r
-                       AssertEquals (" quuux quuux  ", dvr.Value);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual ("root", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.AreEqual ("id1", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
+                       Assert.AreEqual ("nameToken", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("baz", dvr.Name);\r
+                       Assert.AreEqual ("list of name token", dvr.Value);\r
+                       Assert.IsTrue (dvr.MoveToNextAttribute ());\r
+                       Assert.AreEqual ("quux", dvr.Name);\r
+                       Assert.AreEqual (" quuux quuux  ", dvr.Value);\r
                }\r
 \r
                [Test]\r
@@ -629,17 +629,17 @@ namespace MonoTests.System.Xml
                        dvr.ValidationEventHandler += new ValidationEventHandler (OnInvalidityFound);\r
                        dvr.ValidationType = ValidationType.DTD;\r
                        dvr.Read ();    // DTD\r
-                       Assert (dvr.Read ());   // invalid foo\r
-                       Assert (eventFired);\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       Assert (dvr.Read ());   // invalid bar\r
-                       AssertEquals ("bar", dvr.Name);\r
-                       Assert (dvr.MoveToFirstAttribute ());   // att\r
-                       AssertEquals ("att", dvr.Name);\r
-                       Assert (dvr.Read ());   // invalid end foo\r
-                       AssertEquals ("foo", dvr.Name);\r
-                       AssertEquals (XmlNodeType.EndElement, dvr.NodeType);\r
-                       Assert (!dvr.Read ());\r
+                       Assert.IsTrue (dvr.Read ());    // invalid foo\r
+                       Assert.IsTrue (eventFired);\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.IsTrue (dvr.Read ());    // invalid bar\r
+                       Assert.AreEqual ("bar", dvr.Name);\r
+                       Assert.IsTrue (dvr.MoveToFirstAttribute ());    // att\r
+                       Assert.AreEqual ("att", dvr.Name);\r
+                       Assert.IsTrue (dvr.Read ());    // invalid end foo\r
+                       Assert.AreEqual ("foo", dvr.Name);\r
+                       Assert.AreEqual (XmlNodeType.EndElement, dvr.NodeType);\r
+                       Assert.IsTrue (!dvr.Read ());\r
 \r
                        // When ValidationType is None, event should not be fired,\r
                        eventFired = false;\r
@@ -647,8 +647,8 @@ namespace MonoTests.System.Xml
                        dvr.ValidationEventHandler += new ValidationEventHandler (OnInvalidityFound);\r
                        dvr.ValidationType = ValidationType.None;\r
                        dvr.Read ();    // DTD\r
-                       Assert (dvr.Read ());   // invalid foo\r
-                       Assert (!eventFired);\r
+                       Assert.IsTrue (dvr.Read ());    // invalid foo\r
+                       Assert.IsTrue (!eventFired);\r
                }\r
 \r
                private bool eventFired;\r
@@ -668,7 +668,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        try {\r
                                dvr.Read ();    // root misses attribute foo\r
-                               Fail ();\r
+                               Assert.Fail ();\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -682,7 +682,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // c[1]\r
                        try {\r
                                dvr.Read ();    // c[2]\r
-                               Fail ();\r
+                               Assert.Fail ();\r
                        } catch (XmlSchemaException) {\r
                        }\r
 \r
@@ -693,7 +693,7 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // c[1]\r
                        try {\r
                                dvr.Read ();    // c[2]\r
-                               Fail ();\r
+                               Assert.Fail ();\r
                        } catch (XmlSchemaException) {\r
                        }\r
                }\r
@@ -712,30 +712,30 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        dvr.Read ();    // root\r
                        dvr.Read ();    // &ent;\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals (1, dvr.Depth);\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual (1, dvr.Depth);\r
                        dvr.ResolveEntity ();\r
                        // It is still entity reference.\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType);\r
-                       AssertEquals (2, dvr.Depth);\r
-                       AssertEquals ("entity string", dvr.Value);\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType);\r
+                       Assert.AreEqual (2, dvr.Depth);\r
+                       Assert.AreEqual ("entity string", dvr.Value);\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.EndEntity, dvr.NodeType);\r
-                       AssertEquals (1, dvr.Depth);\r
-                       AssertEquals (String.Empty, dvr.Value);\r
+                       Assert.AreEqual (XmlNodeType.EndEntity, dvr.NodeType);\r
+                       Assert.AreEqual (1, dvr.Depth);\r
+                       Assert.AreEqual (String.Empty, dvr.Value);\r
 \r
                        dvr.Read ();    // &ent2;\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
-                       AssertEquals (1, dvr.Depth);\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual (1, dvr.Depth);\r
                        dvr.ResolveEntity ();\r
                        // It is still entity reference.\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
                        // It now became element node.\r
                        dvr.Read ();\r
-                       AssertEquals (XmlNodeType.Element, dvr.NodeType);\r
-                       AssertEquals (2, dvr.Depth);\r
+                       Assert.AreEqual (XmlNodeType.Element, dvr.NodeType);\r
+                       Assert.AreEqual (2, dvr.Depth);\r
                }\r
 \r
                [Test]\r
@@ -751,22 +751,22 @@ namespace MonoTests.System.Xml
                        dvr.Read ();    // DTD\r
                        dvr.Read ();    // root\r
                        dvr.Read ();    // &ent3;\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
 #if NET_2_0\r
                        // under .NET 2.0, an error is raised here.\r
                        // under .NET 1.1, the error is thrown on the next read.\r
                        try {\r
                                dvr.ResolveEntity ();\r
-                               Fail ("Attempt to resolve undeclared entity should fail.");\r
+                               Assert.Fail ("Attempt to resolve undeclared entity should fail.");\r
                        } catch (XmlException) {\r
                        }\r
 #else\r
                        // ent3 does not exist in this dtd.\r
                        dvr.ResolveEntity ();\r
-                       AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);\r
+                       Assert.AreEqual (XmlNodeType.EntityReference, dvr.NodeType);\r
                        try {\r
                                dvr.Read ();\r
-                               Fail ("Attempt to resolve undeclared entity should fail.");\r
+                               Assert.Fail ("Attempt to resolve undeclared entity should fail.");\r
                        } catch (XmlException) {\r
                        }\r
 #endif\r
@@ -791,10 +791,10 @@ namespace MonoTests.System.Xml
                        dvr.Read (); // doctype\r
                        dvr.Read (); // root\r
                        dvr.MoveToAttribute (0); // attr\r
-                       Assert (dvr.ReadAttributeValue ()); // Should read expanded text\r
-                       AssertEquals (XmlNodeType.Text, dvr.NodeType); // not EntityReference\r
-                       AssertEquals ("entity string text", dvr.Value);\r
-                       Assert (!dvr.ReadAttributeValue ());\r
+                       Assert.IsTrue (dvr.ReadAttributeValue ()); // Should read expanded text\r
+                       Assert.AreEqual (XmlNodeType.Text, dvr.NodeType); // not EntityReference\r
+                       Assert.AreEqual ("entity string text", dvr.Value);\r
+                       Assert.IsTrue (!dvr.ReadAttributeValue ());\r
                }\r
 \r
                [Test]\r
@@ -813,7 +813,7 @@ namespace MonoTests.System.Xml
                        r.Read ();\r
                        r.Read ();\r
                        r.Read ();\r
-                       AssertEquals (refOut, r.ReadOuterXml ());\r
+                       Assert.AreEqual (refOut, r.ReadOuterXml ());\r
                }\r
 \r
                [Test]\r
@@ -888,37 +888,37 @@ namespace MonoTests.System.Xml
                        xvr.Read (); // DTD\r
                        xvr.Read (); // whitespace\r
                        xvr.Read ();\r
-                       AssertEquals ("#1-1", "urn:foo", xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#1-2", "urn:bar", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual ("urn:foo", xvr.LookupNamespace (String.Empty), "#1-1");\r
+                       Assert.AreEqual ("urn:bar", xvr.LookupNamespace ("bar"), "#1-2");\r
 \r
-                       AssertEquals ("#1-a", "urn:baz", xvr.LookupNamespace ("baz"));\r
-                       Assert ("#1-b", xvr.MoveToAttribute ("baz:dummy"));\r
-                       AssertEquals ("#1-c", "urn:baz", xvr.NamespaceURI);\r
+                       Assert.AreEqual ("urn:baz", xvr.LookupNamespace ("baz"), "#1-a");\r
+                       Assert.IsTrue (xvr.MoveToAttribute ("baz:dummy"), "#1-b");\r
+                       Assert.AreEqual ("urn:baz", xvr.NamespaceURI, "#1-c");\r
 \r
-                       Assert ("#1-d", xvr.MoveToAttribute ("dummy"));\r
-                       AssertEquals ("#1-e", String.Empty, xvr.NamespaceURI);\r
+                       Assert.IsTrue (xvr.MoveToAttribute ("dummy"), "#1-d");\r
+                       Assert.AreEqual (String.Empty, xvr.NamespaceURI, "#1-e");\r
 \r
                        xvr.Read (); // first Y, empty element\r
-                       AssertEquals ("#2-1", "urn:foo", xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#2-2", "urn:bar", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual ("urn:foo", xvr.LookupNamespace (String.Empty), "#2-1");\r
+                       Assert.AreEqual ("urn:bar", xvr.LookupNamespace ("bar"), "#2-2");\r
                        xvr.Read (); // second Y, start element\r
-                       AssertEquals ("#3-1", "urn:foo", xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#3-2", "urn:bar", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual ("urn:foo", xvr.LookupNamespace (String.Empty), "#3-1");\r
+                       Assert.AreEqual ("urn:bar", xvr.LookupNamespace ("bar"), "#3-2");\r
                        xvr.Read (); // inside normal Y. Check inheritance\r
-                       AssertEquals ("#4-1", "urn:foo", xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#4-2", "urn:bar", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual ("urn:foo", xvr.LookupNamespace (String.Empty), "#4-1");\r
+                       Assert.AreEqual ("urn:bar", xvr.LookupNamespace ("bar"), "#4-2");\r
                        xvr.Read (); // second Y, end element\r
-                       AssertEquals ("#5-1", "urn:foo", xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#5-2", "urn:bar", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual ("urn:foo", xvr.LookupNamespace (String.Empty), "#5-1");\r
+                       Assert.AreEqual ("urn:bar", xvr.LookupNamespace ("bar"), "#5-2");\r
                        xvr.Read (); // third Y, suppresses default namespaces\r
-                       AssertEquals ("#6-1", null, xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#6-2", "urn:hoge", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual (null, xvr.LookupNamespace (String.Empty), "#6-1");\r
+                       Assert.AreEqual ("urn:hoge", xvr.LookupNamespace ("bar"), "#6-2");\r
                        xvr.Read (); // inside suppressing Y. Check inheritance\r
-                       AssertEquals ("#7-1", null, xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#7-2", "urn:hoge", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual (null, xvr.LookupNamespace (String.Empty), "#7-1");\r
+                       Assert.AreEqual ("urn:hoge", xvr.LookupNamespace ("bar"), "#7-2");\r
                        xvr.Read (); // end of suppressing element\r
-                       AssertEquals ("#8-1", null, xvr.LookupNamespace (String.Empty));\r
-                       AssertEquals ("#8-2", "urn:hoge", xvr.LookupNamespace ("bar"));\r
+                       Assert.AreEqual (null, xvr.LookupNamespace (String.Empty), "#8-1");\r
+                       Assert.AreEqual ("urn:hoge", xvr.LookupNamespace ("bar"), "#8-2");\r
                }\r
 \r
 #if NET_2_0\r
@@ -935,5 +935,140 @@ namespace MonoTests.System.Xml
                                r.Read ();\r
                }\r
 #endif\r
+\r
+#if NET_2_0            \r
+               [Test]          \r
+               public void Bug501814 ()\r
+               {\r
+                       string xsd = @"\r
+                       <xs:schema id='Layout'\r
+                               targetNamespace='foo'\r
+                               elementFormDefault='qualified'\r
+                               xmlns='foo'                  \r
+                               xmlns:xs='http://www.w3.org/2001/XMLSchema'>\r
+\r
+                               <xs:element name='Layout' type='Layout' />\r
+\r
+                               <xs:complexType name='Layout'>\r
+                                       <xs:group ref='AnyLayoutElement' minOccurs='0' maxOccurs='unbounded' />\r
+                               </xs:complexType>\r
+\r
+                               <xs:group name='AnyLayoutElement'>\r
+                                       <xs:choice>                     \r
+                                               <xs:element name='Label' type='Label' />                        \r
+                                       </xs:choice>\r
+                               </xs:group>\r
+       \r
+                               <xs:complexType name='LayoutElement' abstract='true'>\r
+                                       <xs:attribute name='id' type='xs:ID' use='optional' />\r
+                                       <xs:attribute name='visible' type='xs:boolean' use='optional' default='true' />\r
+                               </xs:complexType>\r
+       \r
+                               <xs:complexType name='Label'>\r
+                                       <xs:complexContent mixed='true'>\r
+                                               <xs:extension base='LayoutElement'>\r
+                                               <xs:attribute name='bold' type='xs:boolean' use='required'/>\r
+                                               </xs:extension>\r
+                                       </xs:complexContent>\r
+                                       </xs:complexType>\r
+                       </xs:schema>";\r
+                       \r
+                       XmlDocument doc = new XmlDocument ();\r
+                       \r
+                       XmlSchema schema = XmlSchema.Read (XmlReader.Create (new StringReader (xsd)), null);                    \r
+                       \r
+                       doc.LoadXml (@"\r
+                               <Layout xmlns='foo'>\r
+                   <Label bold='false'>Text inside label</Label>\r
+                </Layout>");\r
+                       doc.Schemas.Add (schema);\r
+                       doc.Validate (null);\r
+               }\r
+#endif\r
+               \r
+#if NET_2_0\r
+               [Test]          \r
+               public void Bug502168 ()\r
+               {\r
+                       string xsd = @"<xs:schema id='Layout'\r
+                               targetNamespace='foo'\r
+                               elementFormDefault='qualified'\r
+                               xmlns='foo'                  \r
+                               xmlns:xs='http://www.w3.org/2001/XMLSchema'>\r
+\r
+                               <xs:element name='Layout' type='Layout' />\r
+                               \r
+                                <xs:complexType name='Layout'>\r
+                                 <xs:group ref='AnyLayoutElement' minOccurs='0' maxOccurs='unbounded' />\r
+                                </xs:complexType>\r
+                               \r
+                                <xs:group name='AnyLayoutElement'>\r
+                                 <xs:choice>\r
+                                  <xs:element name='Layout' type='Layout' />   \r
+                                  <xs:element name='ImageContainer' type='ImageContainer' />\r
+                                  <xs:element name='VideoInstance' type='VideoInstance'/>\r
+                                 </xs:choice>\r
+                                </xs:group>\r
+                               \r
+                                <xs:complexType name='ImageDummy'>\r
+                                </xs:complexType>\r
+                               \r
+                                <xs:complexType name='LayoutElement' abstract='true'>  \r
+                                </xs:complexType>\r
+                               \r
+                                <xs:group name='AnyImageElement'>\r
+                                 <xs:choice>\r
+                                  <xs:element name='ImageDummy' type='ImageDummy' />\r
+                                 </xs:choice>\r
+                                </xs:group>\r
+                               \r
+                                <xs:complexType name='ImageContainer'>\r
+                                 <xs:complexContent>\r
+                                  <xs:extension base='LayoutElement'>\r
+                                   <xs:choice minOccurs='1' maxOccurs='1'>\r
+                                    <xs:element name='Content' type='SingleImage' minOccurs='1' maxOccurs='1'\r
+                               nillable='false'/>\r
+                                   </xs:choice>    \r
+                                  </xs:extension>\r
+                                 </xs:complexContent>\r
+                                </xs:complexType>\r
+                               \r
+                                <xs:complexType name='SingleImage'>\r
+                                 <xs:group ref='AnyImageElement' minOccurs='1' maxOccurs='1'/>\r
+                                </xs:complexType>\r
+                               \r
+                                <xs:complexType name='VideoApplicationFile'>\r
+                                 <xs:complexContent>\r
+                                  <xs:extension base='VideoInstance'>\r
+                                   <xs:attribute name='fileName' type='xs:string' use='optional'/>\r
+                                  </xs:extension>\r
+                                 </xs:complexContent>\r
+                                </xs:complexType>\r
+                               \r
+                                <xs:complexType abstract='true' name='Video'>\r
+                                 <xs:complexContent>\r
+                                  <xs:extension base='LayoutElement'>\r
+                                   <xs:group ref='AnyImageElement' minOccurs='0' maxOccurs='1'/>    \r
+                                  </xs:extension>\r
+                                 </xs:complexContent>\r
+                                </xs:complexType>\r
+                               \r
+                                <xs:complexType abstract='true' name='VideoInstance'>\r
+                                 <xs:complexContent>\r
+                                  <xs:extension base='Video'>\r
+                                   <xs:attribute name='name' type='xs:string' use='optional'/>\r
+                                  </xs:extension>\r
+                                 </xs:complexContent>\r
+                                </xs:complexType>\r
+                               </xs:schema>";\r
+\r
+\r
+                       XmlDocument doc = new XmlDocument ();\r
+                       XmlSchema schema = XmlSchema.Read (XmlReader.Create (new StringReader (xsd)), null);\r
+                       doc.LoadXml (@"<Layout xmlns='foo' />");\r
+                       doc.Schemas.Add(schema);\r
+                       doc.Validate(null);\r
+               }\r
+#endif         \r
        }\r
 }\r