From 99b82b388313e571962183f072c3f9f98aeb7bff Mon Sep 17 00:00:00 2001 From: Michael Ganss Date: Thu, 5 Nov 2015 15:53:21 +0100 Subject: [PATCH] Add NamespaceProvider tests --- .../NamespaceProviderTests.cs | 46 +++++++++++++++++++ .../XmlSchemaClassGenerator.Tests.csproj | 1 + 2 files changed, 47 insertions(+) create mode 100644 XmlSchemaClassGenerator.Tests/NamespaceProviderTests.cs diff --git a/XmlSchemaClassGenerator.Tests/NamespaceProviderTests.cs b/XmlSchemaClassGenerator.Tests/NamespaceProviderTests.cs new file mode 100644 index 00000000..90b95f0b --- /dev/null +++ b/XmlSchemaClassGenerator.Tests/NamespaceProviderTests.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xunit; + +namespace XmlSchemaClassGenerator.Tests +{ + public class NamespaceProviderTests + { + [Fact] + public void ContainsKeyTest() + { + var ns = new NamespaceProvider { { new NamespaceKey("x"), "c" } }; + ns.GenerateNamespace = k => k.XmlSchemaNamespace != "z" ? k.XmlSchemaNamespace : null; + AssertEx.CollectionEqual(ns.Values.ToArray(), new[] { "c" }); + Assert.True(ns.ContainsKey(new NamespaceKey("x"))); + Assert.True(ns.ContainsKey(new NamespaceKey("y"))); + Assert.True(ns.ContainsKey(new NamespaceKey("y"))); + Assert.False(ns.ContainsKey(new NamespaceKey("z"))); + ns.Clear(); + Assert.Equal(0, ns.Count); + } + + [Fact] + public void KeysTest() + { + var ns = new NamespaceProvider { { new NamespaceKey("x"), "c" }, { new NamespaceKey("y"), "d" } }; + ns.Remove(new NamespaceKey("y")); + AssertEx.CollectionEqual(ns.Keys.ToArray(), new[] { new NamespaceKey("x") }); + } + + [Fact] + public void IndexTest() + { + var ns = new NamespaceProvider(); + ns[new NamespaceKey("x")] = "c"; + ns.GenerateNamespace = k => k.XmlSchemaNamespace != "z" ? k.XmlSchemaNamespace : null; + Assert.Equal(ns[new NamespaceKey("x")], "c"); + Assert.Equal(ns[new NamespaceKey("y")], "y"); + Assert.Equal(ns[new NamespaceKey("y")], "y"); + Assert.Throws(() => ns[new NamespaceKey("z")]); + } + } +} diff --git a/XmlSchemaClassGenerator.Tests/XmlSchemaClassGenerator.Tests.csproj b/XmlSchemaClassGenerator.Tests/XmlSchemaClassGenerator.Tests.csproj index 9d792254..b3b74da9 100644 --- a/XmlSchemaClassGenerator.Tests/XmlSchemaClassGenerator.Tests.csproj +++ b/XmlSchemaClassGenerator.Tests/XmlSchemaClassGenerator.Tests.csproj @@ -61,6 +61,7 @@ +