Day08 part 1

This commit is contained in:
2018-12-11 21:02:22 +01:00
parent ef84354e66
commit e00c496a95
7 changed files with 184 additions and 2 deletions

View File

@@ -56,6 +56,7 @@
<Otherwise />
</Choose>
<ItemGroup>
<Compile Include="ChronoLicenceNode_Tests.cs" />
<Compile Include="ChronoPoint_Tests.cs" />
<Compile Include="Claim_Tests.cs" />
<Compile Include="Day01_Tests.cs" />
@@ -65,6 +66,7 @@
<Compile Include="Day05_Tests.cs" />
<Compile Include="Day06_Tests.cs" />
<Compile Include="Day07_Tests.cs" />
<Compile Include="Day08_Tests.cs" />
<Compile Include="GuardEvent_Tests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>

View File

@@ -0,0 +1,37 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace AdventOfCode2018.Tests
{
[TestClass()]
public class ChronoLicenceNode_Tests
{
[TestMethod()]
public void BuildFromIntStream__Test()
{
Day08 day = new Day08();
IntStream values = new IntStream("2 3 0 3 10 11 12 1 1 0 1 99 2 1 1 2");
ChronoLicenceNode result = ChronoLicenceNode.BuildFromIntStream(values);
Assert.AreEqual(2, result.Childs.Count);
Assert.AreEqual(3, result.Metadata.Count);
Assert.AreEqual(1, result.Metadata[0]);
Assert.AreEqual(1, result.Metadata[1]);
Assert.AreEqual(2, result.Metadata[2]);
Assert.AreEqual(0, result.Childs[0].Childs.Count);
Assert.AreEqual(3, result.Childs[0].Metadata.Count);
Assert.AreEqual(10, result.Childs[0].Metadata[0]);
Assert.AreEqual(11, result.Childs[0].Metadata[1]);
Assert.AreEqual(12, result.Childs[0].Metadata[2]);
Assert.AreEqual(1, result.Childs[1].Childs.Count);
Assert.AreEqual(1, result.Childs[1].Metadata.Count);
Assert.AreEqual(2, result.Childs[1].Metadata[0]);
Assert.AreEqual(0, result.Childs[1].Childs[0].Childs.Count);
Assert.AreEqual(1, result.Childs[1].Childs[0].Metadata.Count);
Assert.AreEqual(99, result.Childs[1].Childs[0].Metadata[0]);
}
}
}

View File

@@ -0,0 +1,18 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace AdventOfCode2018.Tests
{
[TestClass()]
public class Day08_Tests
{
[TestMethod()]
public void ResolvePart1__Test()
{
Day08 day = new Day08();
string result = day.ResolvePart1(new string[] { "2 3 0 3 10 11 12 1 1 0 1 99 2 1 1 2", });
Assert.AreEqual("138", result);
}
}
}