Skip to content

Commit 99b82b3

Browse files
author
Michael Ganss
committed
Add NamespaceProvider tests
1 parent 03299e1 commit 99b82b3

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using Xunit;
7+
8+
namespace XmlSchemaClassGenerator.Tests
9+
{
10+
public class NamespaceProviderTests
11+
{
12+
[Fact]
13+
public void ContainsKeyTest()
14+
{
15+
var ns = new NamespaceProvider { { new NamespaceKey("x"), "c" } };
16+
ns.GenerateNamespace = k => k.XmlSchemaNamespace != "z" ? k.XmlSchemaNamespace : null;
17+
AssertEx.CollectionEqual(ns.Values.ToArray(), new[] { "c" });
18+
Assert.True(ns.ContainsKey(new NamespaceKey("x")));
19+
Assert.True(ns.ContainsKey(new NamespaceKey("y")));
20+
Assert.True(ns.ContainsKey(new NamespaceKey("y")));
21+
Assert.False(ns.ContainsKey(new NamespaceKey("z")));
22+
ns.Clear();
23+
Assert.Equal(0, ns.Count);
24+
}
25+
26+
[Fact]
27+
public void KeysTest()
28+
{
29+
var ns = new NamespaceProvider { { new NamespaceKey("x"), "c" }, { new NamespaceKey("y"), "d" } };
30+
ns.Remove(new NamespaceKey("y"));
31+
AssertEx.CollectionEqual(ns.Keys.ToArray(), new[] { new NamespaceKey("x") });
32+
}
33+
34+
[Fact]
35+
public void IndexTest()
36+
{
37+
var ns = new NamespaceProvider();
38+
ns[new NamespaceKey("x")] = "c";
39+
ns.GenerateNamespace = k => k.XmlSchemaNamespace != "z" ? k.XmlSchemaNamespace : null;
40+
Assert.Equal(ns[new NamespaceKey("x")], "c");
41+
Assert.Equal(ns[new NamespaceKey("y")], "y");
42+
Assert.Equal(ns[new NamespaceKey("y")], "y");
43+
Assert.Throws<KeyNotFoundException>(() => ns[new NamespaceKey("z")]);
44+
}
45+
}
46+
}

XmlSchemaClassGenerator.Tests/XmlSchemaClassGenerator.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
<Compile Include="AssertEx.cs" />
6262
<Compile Include="generated\Types.generated.cs" />
6363
<Compile Include="Glob.cs" />
64+
<Compile Include="NamespaceProviderTests.cs" />
6465
<Compile Include="Properties\AssemblyInfo.cs" />
6566
<Compile Include="TestPriority.cs" />
6667
<Compile Include="XsdElsterDatenabholung5.cs" />

0 commit comments

Comments
 (0)