Skip to content

Commit 13cb5a8

Browse files
committed
Fix tests
1 parent e1ee327 commit 13cb5a8

3 files changed

Lines changed: 134 additions & 106 deletions

File tree

Lines changed: 106 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System;
22
using System.Linq;
3+
using System.Threading.Tasks;
34
using FluentAssertions;
5+
using ReactiveUI.Testing;
46
using Xunit;
57

68
namespace HierarchyGrid.Definitions.Tests
@@ -10,127 +12,148 @@ public class HierarchyDefinitionTests
1012
[Fact]
1113
public void TestRelativePosition()
1214
{
13-
var root = new ProducerDefinition();
14-
15-
var child1 = root.Add(new ProducerDefinition());
16-
var child2 = root.Add(new ProducerDefinition());
17-
18-
child1.RelativePosition.Should().Be(0);
19-
child2.RelativePosition.Should().Be(1);
20-
21-
var child1child1 = child1.Add(new ProducerDefinition());
22-
var child1child2 = child1.Add(new ProducerDefinition());
23-
var child1child3 = child1.Add(new ProducerDefinition());
24-
child1child1.RelativePosition.Should().Be(0);
25-
child1child3.RelativePosition.Should().Be(2);
15+
RxTest.AppBuilderTestAsync(async () =>
16+
{
17+
var root = new ProducerDefinition();
18+
19+
var child1 = root.Add(new ProducerDefinition());
20+
var child2 = root.Add(new ProducerDefinition());
21+
22+
child1.RelativePosition.Should().Be(0);
23+
child2.RelativePosition.Should().Be(1);
24+
25+
var child1child1 = child1.Add(new ProducerDefinition());
26+
var child1child2 = child1.Add(new ProducerDefinition());
27+
var child1child3 = child1.Add(new ProducerDefinition());
28+
child1child1.RelativePosition.Should().Be(0);
29+
child1child3.RelativePosition.Should().Be(2);
30+
});
2631
}
2732

2833
[Fact]
2934
public void TestRelativePositionFromRoot()
3035
{
31-
var root = new ProducerDefinition();
32-
33-
var child1 = root.Add(new ProducerDefinition());
34-
var child2 = root.Add(new ProducerDefinition());
35-
36-
child1.RelativePositionFromRoot.Should().Be(0);
37-
child2.RelativePositionFromRoot.Should().Be(1);
38-
39-
var child1child1 = child1.Add(new ProducerDefinition());
40-
var child1child2 = child1.Add(new ProducerDefinition());
41-
var child1child3 = child1.Add(new ProducerDefinition());
42-
child1child1.RelativePositionFromRoot.Should().Be(0);
43-
child1child3.RelativePositionFromRoot.Should().Be(2);
44-
child2.RelativePositionFromRoot.Should().Be(1);
36+
RxTest.AppBuilderTestAsync(async () =>
37+
{
38+
var root = new ProducerDefinition();
39+
40+
var child1 = root.Add(new ProducerDefinition());
41+
var child2 = root.Add(new ProducerDefinition());
42+
43+
child1.RelativePositionFromRoot.Should().Be(0);
44+
child2.RelativePositionFromRoot.Should().Be(1);
45+
46+
var child1child1 = child1.Add(new ProducerDefinition());
47+
var child1child2 = child1.Add(new ProducerDefinition());
48+
var child1child3 = child1.Add(new ProducerDefinition());
49+
child1child1.RelativePositionFromRoot.Should().Be(0);
50+
child1child3.RelativePositionFromRoot.Should().Be(2);
51+
child2.RelativePositionFromRoot.Should().Be(1);
52+
});
4553
}
4654

4755
[Fact]
4856
public void TestRelativePositionFrom()
4957
{
50-
var root = new ProducerDefinition();
58+
RxTest.AppBuilderTestAsync(async () =>
59+
{
60+
var root = new ProducerDefinition();
5161

52-
var child1 = root.Add(new ProducerDefinition());
53-
var child2 = root.Add(new ProducerDefinition());
62+
var child1 = root.Add(new ProducerDefinition());
63+
var child2 = root.Add(new ProducerDefinition());
5464

55-
child1.RelativePositionFrom(root).Should().Be(0);
56-
child2.RelativePositionFrom(root).Should().Be(1);
65+
child1.RelativePositionFrom(root).Should().Be(0);
66+
child2.RelativePositionFrom(root).Should().Be(1);
5767

58-
var child1child1 = child1.Add(new ProducerDefinition());
59-
var child1child2 = child1.Add(new ProducerDefinition());
60-
var child1child3 = child1.Add(new ProducerDefinition());
68+
var child1child1 = child1.Add(new ProducerDefinition());
69+
var child1child2 = child1.Add(new ProducerDefinition());
70+
var child1child3 = child1.Add(new ProducerDefinition());
6171

62-
child1child1.RelativePositionFrom(root).Should().Be(0);
63-
child1child3.RelativePositionFrom(root).Should().Be(2);
64-
child2.RelativePositionFrom(root).Should().Be(3);
72+
child1child1.RelativePositionFrom(root).Should().Be(0);
73+
child1child3.RelativePositionFrom(root).Should().Be(2);
74+
child2.RelativePositionFrom(root).Should().Be(3);
75+
});
6576
}
6677

6778
[Fact]
6879
public void TestDepth()
6980
{
70-
var root = new ProducerDefinition();
71-
var child1 = root.Add(new ProducerDefinition());
72-
var child2 = root.Add(new ProducerDefinition());
73-
var child1child1 = child1.Add(new ProducerDefinition());
74-
var child1child2 = child1.Add(new ProducerDefinition());
75-
var child1child3 = child1.Add(new ProducerDefinition());
76-
77-
root.Depth().Should().Be(3);
78-
child1.IsExpanded = false;
79-
child2.IsExpanded = false;
80-
root.Depth().Should().Be(3);
81-
root.Depth(false).Should().Be(2);
81+
RxTest.AppBuilderTestAsync(async () =>
82+
{
83+
var root = new ProducerDefinition();
84+
var child1 = root.Add(new ProducerDefinition());
85+
var child2 = root.Add(new ProducerDefinition());
86+
var child1child1 = child1.Add(new ProducerDefinition());
87+
var child1child2 = child1.Add(new ProducerDefinition());
88+
var child1child3 = child1.Add(new ProducerDefinition());
89+
90+
root.Depth().Should().Be(3);
91+
child1.IsExpanded = false;
92+
child2.IsExpanded = false;
93+
root.Depth().Should().Be(3);
94+
root.Depth(false).Should().Be(2);
95+
});
8296
}
8397

8498
[Fact]
8599
public void TestCount()
86100
{
87-
var root = new ProducerDefinition();
88-
var child1 = root.Add(new ProducerDefinition());
89-
var child2 = root.Add(new ProducerDefinition());
90-
var child1child1 = child1.Add(new ProducerDefinition());
91-
var child1child2 = child1.Add(new ProducerDefinition());
92-
var child1child3 = child1.Add(new ProducerDefinition());
93-
94-
root.Count().Should().Be(4);
95-
child1.IsExpanded = false;
96-
root.Count().Should().Be(2);
97-
root.Count(true).Should().Be(4);
101+
RxTest.AppBuilderTestAsync(async () =>
102+
{
103+
var root = new ProducerDefinition();
104+
var child1 = root.Add(new ProducerDefinition());
105+
var child2 = root.Add(new ProducerDefinition());
106+
var child1child1 = child1.Add(new ProducerDefinition());
107+
var child1child2 = child1.Add(new ProducerDefinition());
108+
var child1child3 = child1.Add(new ProducerDefinition());
109+
110+
root.Count().Should().Be(4);
111+
child1.IsExpanded = false;
112+
root.Count().Should().Be(2);
113+
root.Count(true).Should().Be(4);
114+
});
98115
}
99116

100117
[Fact]
101118
public void TestLeaves()
102119
{
103-
var rootConsumers = new ConsumerDefinition { Content = "Root" };
104-
rootConsumers.Add(new ConsumerDefinition { Content = "A1" });
105-
rootConsumers.Add(new ConsumerDefinition { Content = "B1" });
106-
107-
var consumers = new[] { rootConsumers };
108-
consumers.Leaves().Count().Should().Be(2);
109-
110-
var builder = new CalendarBuilder("#1", "#2", "#3");
111-
var producers = builder.GetProducers().ToArray();
112-
producers.Leaves().Length().Should().Be(16);
120+
RxTest.AppBuilderTestAsync(async () =>
121+
{
122+
var rootConsumers = new ConsumerDefinition { Content = "Root" };
123+
rootConsumers.Add(new ConsumerDefinition { Content = "A1" });
124+
rootConsumers.Add(new ConsumerDefinition { Content = "B1" });
125+
126+
var consumers = new[] { rootConsumers };
127+
consumers.Leaves().Count().Should().Be(2);
128+
129+
var builder = new CalendarBuilder("#1", "#2", "#3");
130+
var producers = builder.GetProducers().ToArray();
131+
producers.Leaves().Length().Should().Be(16);
132+
});
113133
}
114134

115135
[Fact]
116136
public void TestCompare()
117137
{
118-
var rootConsumers1 = new ConsumerDefinition { Content = "Root" };
119-
rootConsumers1.Add(new ConsumerDefinition { Content = "A1" });
120-
var consumer1 = rootConsumers1.Add(new ConsumerDefinition { Content = "B1" });
138+
RxTest.AppBuilderTestAsync(async () =>
139+
{
140+
var rootConsumers1 = new ConsumerDefinition { Content = "Root" };
141+
rootConsumers1.Add(new ConsumerDefinition { Content = "A1" });
142+
var consumer1 = rootConsumers1.Add(new ConsumerDefinition { Content = "B1" });
121143

122-
var rootConsumers2 = new ConsumerDefinition { Content = "Root" };
123-
rootConsumers2.Add(new ConsumerDefinition { Content = "A1" });
124-
var consumer2 = rootConsumers2.Add(new ConsumerDefinition { Content = "B1" });
144+
var rootConsumers2 = new ConsumerDefinition { Content = "Root" };
145+
rootConsumers2.Add(new ConsumerDefinition { Content = "A1" });
146+
var consumer2 = rootConsumers2.Add(new ConsumerDefinition { Content = "B1" });
125147

126-
consumer1.Equals(consumer2).Should().BeFalse();
127-
consumer1.CompareTo(consumer2).Should().Be(0);
148+
consumer1.Equals(consumer2).Should().BeFalse();
149+
consumer1.CompareTo(consumer2).Should().Be(0);
128150

129-
var rootProducers = new ProducerDefinition { Content = "Root" };
130-
rootProducers.Add(new ProducerDefinition { Content = "A1" });
131-
var producer = rootProducers.Add(new ProducerDefinition { Content = "B1" });
151+
var rootProducers = new ProducerDefinition { Content = "Root" };
152+
rootProducers.Add(new ProducerDefinition { Content = "A1" });
153+
var producer = rootProducers.Add(new ProducerDefinition { Content = "B1" });
132154

133-
consumer1.CompareTo(producer).Should().NotBe(0);
155+
consumer1.CompareTo(producer).Should().NotBe(0);
156+
});
134157
}
135158
}
136159
}

src/HierarchyGrid.Definitions.Tests/HierarchyDefinitionsTests.cs

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Linq;
44
using System.Text;
55
using FluentAssertions;
6+
using ReactiveUI.Testing;
67
using Xunit;
78

89
namespace HierarchyGrid.Definitions.Tests
@@ -12,32 +13,35 @@ public class HierarchyDefinitionsTests
1213
[Fact]
1314
public void TestBuild()
1415
{
15-
var rootProducers = new ProducerDefinition { Content = "Root" };
16-
var rootConsumers = new ConsumerDefinition { Content = "Root" };
17-
rootConsumers
18-
.Add(new ConsumerDefinition { Content = "A1" })
19-
.Add(new ConsumerDefinition { Content = "AA1" });
20-
rootConsumers.Add(new ConsumerDefinition { Content = "B1" });
21-
var rootConsumers2 = new ConsumerDefinition { Content = "Root2" };
22-
rootConsumers2.Add(new ConsumerDefinition { Content = "A2" });
23-
rootConsumers2.Add(new ConsumerDefinition { Content = "B2" });
24-
rootConsumers2.Add(new ConsumerDefinition { Content = "C2" });
25-
rootConsumers2.Add(new ConsumerDefinition { Content = "D2" });
16+
RxTest.AppBuilderTestAsync(async () =>
17+
{
18+
var rootProducers = new ProducerDefinition { Content = "Root" };
19+
var rootConsumers = new ConsumerDefinition { Content = "Root" };
20+
rootConsumers
21+
.Add(new ConsumerDefinition { Content = "A1" })
22+
.Add(new ConsumerDefinition { Content = "AA1" });
23+
rootConsumers.Add(new ConsumerDefinition { Content = "B1" });
24+
var rootConsumers2 = new ConsumerDefinition { Content = "Root2" };
25+
rootConsumers2.Add(new ConsumerDefinition { Content = "A2" });
26+
rootConsumers2.Add(new ConsumerDefinition { Content = "B2" });
27+
rootConsumers2.Add(new ConsumerDefinition { Content = "C2" });
28+
rootConsumers2.Add(new ConsumerDefinition { Content = "D2" });
2629

27-
var producers = new[] { rootProducers };
28-
var consumers = new[] { rootConsumers, rootConsumers2 };
30+
var producers = new[] { rootProducers };
31+
var consumers = new[] { rootConsumers, rootConsumers2 };
2932

30-
var definitions = new HierarchyDefinitions(producers, consumers);
33+
var definitions = new HierarchyDefinitions(producers, consumers);
3134

32-
definitions.Consumers.Count.Should().Be(2);
33-
definitions.Consumers.FlatList().Count.Should().Be(9);
34-
definitions
35-
.Consumers.FlatList()
36-
.Select(x => x.Position)
37-
.Distinct()
38-
.Count()
39-
.Should()
40-
.Be(9);
35+
definitions.Consumers.Count.Should().Be(2);
36+
definitions.Consumers.FlatList().Count.Should().Be(9);
37+
definitions
38+
.Consumers.FlatList()
39+
.Select(x => x.Position)
40+
.Distinct()
41+
.Count()
42+
.Should()
43+
.Be(9);
44+
});
4145
}
4246
}
4347
}

src/HierarchyGrid.Definitions.Tests/HierarchyGrid.Definitions.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<ItemGroup>
99
<PackageReference Include="FluentAssertions" Version="8.8.0" />
1010
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
11+
<PackageReference Include="ReactiveUI.Testing" Version="23.1.8" />
1112
<PackageReference Include="System.Text.Json" Version="10.0.3" />
1213
<PackageReference Include="xunit" Version="2.9.3" />
1314
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">

0 commit comments

Comments
 (0)