* XmlSerializerImplementationTests.cs : new testfixture.
* SchemaImporterExtensionCollectionTests.cs,
SchemaImporterExtensionTests.cs : new testfixtures.
* System.Xml_test.dll.sources : added following tests:
- XmlSerializerImplementationTests.cs
- SchemaImporterExtensionTests.cs
- SchemaImporterExtensionCollectionTests.cs
svn path=/branches/atsushi/mcs/; revision=67235
+2006-11-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * System.Xml_test.dll.sources : added following tests:
+ - XmlSerializerImplementationTests.cs
+ - SchemaImporterExtensionTests.cs
+ - SchemaImporterExtensionCollectionTests.cs
+
2006-11-01 Atsushi Enomoto <atsushi@ximian.com>
* Makefile : Now it supports (and expects) cyclic build. You need
System.Xml.Serialization/XmlSerializationWriterTests.cs
System.Xml.Serialization/XmlTextAttributeTests.cs
System.Xml.Serialization/XmlTypeAttributeTests.cs
+System.Xml.Serialization/XmlSerializerImplementationTests.cs
System.Xml.Serialization/XmlSerializerTests.cs
System.Xml.Serialization/XmlSerializerTestClasses.cs
+System.Xml.Serialization.Advanced/SchemaImporterExtensionTests.cs
+System.Xml.Serialization.Advanced/SchemaImporterExtensionCollectionTests.cs
System.Xml.XPath/SelectNodesTests.cs
System.Xml.XPath/XPathEditableNavigatorTests.cs
System.Xml.XPath/XPathNavigatorEvaluateTests.cs
--- /dev/null
+2006-11-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SchemaImporterExtensionCollectionTests.cs,
+ SchemaImporterExtensionTests.cs : new testfixtures.
--- /dev/null
+//
+// SchemaImporterExtensionCollectionTests.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+using System;
+using System.CodeDom;
+using System.Xml;
+using System.Xml.Schema;
+using System.Xml.Serialization;
+using System.Xml.Serialization.Advanced;
+using NUnit.Framework;
+
+namespace MonoTests.System.Xml.Serialization.Advanced
+{
+ [TestFixture]
+ public class SchemaImporterExtensionCollectionTests
+ {
+ class MyExtension : SchemaImporterExtension
+ {
+ }
+
+ class MyExtension2 : SchemaImporterExtension
+ {
+ }
+
+ abstract class MyAbstractExtension : SchemaImporterExtension
+ {
+ }
+
+ [Test]
+ public void Add ()
+ {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ Assert.AreEqual (0, c.Add ("foo", typeof (MyExtension)), "#1");
+ Assert.IsTrue (c [0] is MyExtension, "#2");
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void AddNameNull ()
+ {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ c.Add (null, typeof (MyExtension));
+ }
+
+ [Test]
+ [Category ("NotDotNet")] // NRE happens there.
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void AddTypeNull ()
+ {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ c.Add ("foo", null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void AddTypeNonExtension ()
+ {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ c.Add ("foo", typeof (int));
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void AddTypeAbstract ()
+ {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ c.Add ("foo", typeof (SchemaImporterExtension));
+ }
+
+ [Test]
+ public void AddTypeAbstract2 ()
+ {
+ try {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ c.Add ("foo", typeof (MyAbstractExtension));
+ Assert.Fail ("Abstract type should not be accepted.");
+ } catch (Exception) {
+ }
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidOperationException))]
+ public void DuplicateNames ()
+ {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ c.Add ("foo", typeof (MyExtension));
+ c.Add ("foo", typeof (MyExtension2));
+ }
+
+ [Test]
+ public void RemoveNonExistent ()
+ {
+ SchemaImporterExtensionCollection c =
+ new SchemaImporterExtensionCollection ();
+ c.Remove ("foo");
+ }
+ }
+}
+
+#endif
--- /dev/null
+//
+// SchemaImporterExtensionTests.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+using System;
+using System.CodeDom;
+using System.Xml;
+using System.Xml.Schema;
+using System.Xml.Serialization;
+using System.Xml.Serialization.Advanced;
+using NUnit.Framework;
+
+namespace MonoTests.System.Xml.Serialization.Advanced
+{
+ [TestFixture]
+ public class SchemaImporterExtensionTests
+ {
+ class MyExtension : SchemaImporterExtension
+ {
+ }
+
+ [Test]
+ public void ImportAnyElement ()
+ {
+ Assert.IsNull(new MyExtension ().ImportAnyElement (
+ null, false, null, null, null, null, CodeGenerationOptions.None, null));
+ }
+
+ [Test]
+ public void ImportDefaultValue ()
+ {
+ Assert.IsNull (new MyExtension ().ImportDefaultValue (null, null), "#1");
+ Assert.IsNull (new MyExtension ().ImportDefaultValue ("test", "string"), "#2");
+ }
+
+ [Test]
+ public void ImportSchemaType ()
+ {
+ Assert.IsNull (new MyExtension ().ImportSchemaType (
+ null, null, null, null, null, null, CodeGenerationOptions.None, null), "#1");
+ Assert.IsNull (new MyExtension ().ImportSchemaType (
+ null, null, null, null, null, null, null, CodeGenerationOptions.None, null), "#2");
+ }
+ }
+}
+
+#endif
+2006-11-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSerializerImplementationTests.cs : new testfixture.
+
2006-10-10 Gert Driesen <drieseng@users.sourceforge.net>
* XmlSerializerTests.cs: Added a few tests. Fixed coding style.
--- /dev/null
+//
+// XmlSerializerImplementation.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+using System;
+using System.Xml.Serialization;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.XmlSerialization
+{
+ [TestFixture]
+ public class XmlSerializerImplementationTests
+ {
+ class MyImplementation : XmlSerializerImplementation
+ {
+ }
+
+ [Test]
+ [ExpectedException (typeof (NotSupportedException))]
+ public void DefaultReder ()
+ {
+ MyImplementation impl = new MyImplementation ();
+ Assert.IsNull (impl.Reader, "#1");
+ }
+
+ [Test]
+ [ExpectedException (typeof (NotSupportedException))]
+ public void DefaultRederMethods ()
+ {
+ MyImplementation impl = new MyImplementation ();
+ Assert.IsNull (impl.ReadMethods, "#2");
+ }
+
+ [Test]
+ [ExpectedException (typeof (NotSupportedException))]
+ public void DefaultWriter ()
+ {
+ MyImplementation impl = new MyImplementation ();
+ Assert.IsNull (impl.Writer, "#3");
+ }
+
+ [Test]
+ [ExpectedException (typeof (NotSupportedException))]
+ public void DefaultWriteMethods ()
+ {
+ MyImplementation impl = new MyImplementation ();
+ Assert.IsNull (impl.WriteMethods, "#4");
+ }
+
+ [Test]
+ [ExpectedException (typeof (NotSupportedException))]
+ public void DefaultTypedSerializers ()
+ {
+ MyImplementation impl = new MyImplementation ();
+ Assert.IsNull (impl.TypedSerializers, "#5");
+ }
+
+ [Test]
+ [ExpectedException (typeof (NotSupportedException))]
+ public void CanSerialize ()
+ {
+ MyImplementation impl = new MyImplementation ();
+ Assert.IsTrue (impl.CanSerialize (typeof (int)), "#1");
+ }
+
+ [Test]
+ [ExpectedException (typeof (NotSupportedException))]
+ public void GetSerializer ()
+ {
+ MyImplementation impl = new MyImplementation ();
+ Assert.IsNull (impl.GetSerializer (typeof (int)), "#1");
+ }
+ }
+}
+#endif