Files
AdventOfCode/AdventOfCode2018.Tests/Day11_Tests.cs
2023-12-01 11:11:44 +01:00

77 lines
2.4 KiB
C#

using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace AdventOfCode2018.Tests
{
[TestClass]
public class Day11_Tests
{
[TestMethod]
public void CalculatePowerLevelOfCell__Test1()
{
int powerLevel = Day11.CalculatePowerLevelOfCell(3, 5, 8);
Assert.AreEqual(4, powerLevel);
}
[TestMethod]
public void CalculatePowerLevelOfRegion__Test1()
{
int powerLevel = Day11.CalculatePowerLevelOfRegion(33, 45, 3, 18);
Assert.AreEqual(29, powerLevel);
}
[TestMethod]
public void CalculatePowerLevelOfRegion__Test2()
{
int powerLevel = Day11.CalculatePowerLevelOfRegion(21, 61, 3, 42);
Assert.AreEqual(30, powerLevel);
}
[TestMethod]
public void CalculatePowerLevelOfRegion__Test1_WithSumationField()
{
int[,] summationFiled = Day11.GenerateSumationField(300, 300, 18);
int powerLevel = Day11.CalculatePowerLevelOfRegion(33, 45, 3, summationFiled);
Assert.AreEqual(29, powerLevel);
}
[TestMethod]
public void CalculatePowerLevelOfRegion__Test2_WithSumationField()
{
int[,] summationFiled = Day11.GenerateSumationField(300, 300, 42);
int powerLevel = Day11.CalculatePowerLevelOfRegion(21, 61, 3, summationFiled);
Assert.AreEqual(30, powerLevel);
}
[TestMethod]
public void SearchBestRegionOfOneSize__Test1()
{
Day11.SearchBestRegionOfOneSize(300, 300, 3, 18, out int x, out int y);
Assert.AreEqual(33, x);
Assert.AreEqual(45, y);
}
[TestMethod]
public void SearchBestRegionOfOneSize__Test2()
{
Day11.SearchBestRegionOfOneSize(300, 300, 3, 42, out int x, out int y);
Assert.AreEqual(21, x);
Assert.AreEqual(61, y);
}
[TestMethod]
public void ResolvePart2__Test1()
{
Day11 day = new Day11();
string result = day.ResolvePart2(new string[] { "18" });
Assert.AreEqual("90,269,16", result);
}
[TestMethod]
public void ResolvePart2__Test2()
{
Day11 day = new Day11();
string result = day.ResolvePart2(new string[] { "42" });
Assert.AreEqual("232,251,12", result);
}
}
}