-
-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathBuildingLayoutParser.Test.cs
More file actions
51 lines (46 loc) · 1.87 KB
/
BuildingLayoutParser.Test.cs
File metadata and controls
51 lines (46 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using MainCore.Enums;
using Shouldly;
namespace MainCore.Test.Parsers
{
public class BuildingLayoutParser : BaseParser
{
private const string Buildings = "Parsers/BuildingLayout/Buildings.html";
private const string Resources = "Parsers/BuildingLayout/Resources.html";
private const string BuildingsWithWall = "Parsers/BuildingLayout/BuildingsWithWall.html";
private const string BuildingsWithQueue = "Parsers/BuildingLayout/BuildingsWithQueue.html";
[Fact]
public void GetFields()
{
_html.Load(Resources);
var actual = MainCore.Parsers.BuildingLayoutParser.GetFields(_html);
actual.Count().ShouldBe(18);
actual.ShouldNotContain(x => x.Location == -1 || x.Type == BuildingEnums.Unknown);
}
[Fact]
public void GetInfrastructures()
{
_html.Load(Buildings);
var actual = MainCore.Parsers.BuildingLayoutParser.GetInfrastructures(_html);
actual.Count().ShouldBe(22);
actual.ShouldNotContain(x => x.Location == -1 || x.Type == BuildingEnums.Unknown);
}
[Fact]
public void GetInfrastructures_WithWall()
{
_html.Load(BuildingsWithWall);
var actual = MainCore.Parsers.BuildingLayoutParser.GetInfrastructures(_html);
actual.Count().ShouldBe(22);
actual.ShouldNotContain(x => x.Location == -1 || x.Type == BuildingEnums.Unknown);
}
[Theory]
[InlineData(Buildings, 0)]
[InlineData(Resources, 0)]
[InlineData(BuildingsWithQueue, 2)]
public void GetQueueBuilding(string path, int expected)
{
_html.Load(path);
var actual = MainCore.Parsers.BuildingLayoutParser.GetQueueBuilding(_html);
actual.Count(x => x.Level != -1).ShouldBe(expected);
}
}
}