Skip to content

Commit 5b61cae

Browse files
committed
Added tests for default values for sequenecs of simple element types.
1 parent 3d39bd3 commit 5b61cae

2 files changed

Lines changed: 48 additions & 4 deletions

File tree

XObjectsTests/XObjectsTests.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,4 @@
6464
</None>
6565
</ItemGroup>
6666

67-
<ItemGroup>
68-
<Folder Include="XsdFeatureTests\" />
69-
</ItemGroup>
70-
7167
</Project>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
using System.Xml.Linq;
2+
using NUnit.Framework;
3+
4+
namespace Xml.Schema.Linq.Tests.XsdFeatureTests;
5+
6+
public class ElementFeatureTests
7+
{
8+
[Test]
9+
public void TestDefaultElementsValues()
10+
{
11+
var xml = $"""
12+
<name xmlns="urn:LinqToXsdCore:Elements:ListTypeWithDefaults" />
13+
""";
14+
15+
var name = urn.LinqToXsdCore.Elements.ListTypeWithDefaults.name.Parse(xml);
16+
17+
Assert.NotNull(name);
18+
Assert.NotNull(name.names);
19+
Assert.True(name.names.Count == 3);
20+
}
21+
22+
23+
[Test]
24+
public void TestDefaultElementsValuesThenSetCustomValues()
25+
{
26+
var xml = $"""
27+
<name xmlns="urn:LinqToXsdCore:Elements:ListTypeWithDefaults" />
28+
""";
29+
30+
var name = urn.LinqToXsdCore.Elements.ListTypeWithDefaults.name.Parse(xml);
31+
32+
Assert.NotNull(name);
33+
Assert.NotNull(name.names);
34+
Assert.True(name.names.Count == 3);
35+
36+
name.names = ["alex", "anton"];
37+
38+
var xmlElement = name.Untyped;
39+
40+
Assert.IsNotEmpty(xmlElement.Descendants());
41+
42+
XElement firstChild = (XElement)xmlElement.FirstNode;
43+
XElement lastChild = (XElement)xmlElement.LastNode;
44+
45+
Assert.True(firstChild!.Value == "alex");
46+
Assert.True(lastChild!.Value == "anton");
47+
}
48+
}

0 commit comments

Comments
 (0)