feat: solve part 1

This commit is contained in:
Stevan Freeborn
2023-12-08 21:46:28 -06:00
parent 1506d716fb
commit b05f886666
5 changed files with 234 additions and 14 deletions
+54
View File
@@ -0,0 +1,54 @@
namespace HauntedWasteland.Tests;
public class NodeTests
{
[Theory]
[MemberData(nameof(TestData.ParseNodeTestData), MemberType = typeof(TestData))]
public void Parse_WhenGivenString_ItShouldReturnNode(string input, Node expected)
{
Node.Parse(input).Should().BeEquivalentTo(expected);
}
public static class TestData
{
public static IEnumerable<object[]> ParseNodeTestData =>
new List<object[]>
{
new object[]
{
"AAA = (BBB, CCC)",
new Node("AAA", "BBB", "CCC")
},
new object[]
{
"BBB = (DDD, EEE)",
new Node("BBB", "DDD", "EEE")
},
new object[]
{
"CCC = (ZZZ, GGG)",
new Node("CCC", "ZZZ", "GGG")
},
new object[]
{
"DDD = (DDD, DDD)",
new Node("DDD", "DDD", "DDD")
},
new object[]
{
"EEE = (EEE, EEE)",
new Node("EEE", "EEE", "EEE")
},
new object[]
{
"GGG = (GGG, GGG)",
new Node("GGG", "GGG", "GGG")
},
new object[]
{
"ZZZ = (ZZZ, ZZZ)",
new Node("ZZZ", "ZZZ", "ZZZ")
},
};
}
}