AdventOfCode2023/AdventOfCode2023Tests/UnitTests.cs

74 lines
2.9 KiB
C#

namespace AdventOfCode2023Tests
{
public class Tests
{
#region Day1
[Test]
public void Day1_1Test()
{
var day1_1 = new Day1_1("1abc2\r\npqr3stu8vwx\r\na1b2c3d4e5f\r\ntreb7uchet");
Assert.That(day1_1.Execute(), Is.EqualTo("142"));
}
[Test]
public void Day1_2Test()
{
var day1_2 = new Day1_2("two1nine\r\neightwothree\r\nabcone2threexyz\r\nxtwone3four\r\n4nineeightseven2\r\nzoneight234\r\n7pqrstsixteen");
Assert.That(day1_2.Execute(), Is.EqualTo("281"));
}
[Test]
public void Day1_2CustomTest()
{
var day1_2 = new Day1_2("1oneight");
Assert.That(day1_2.Execute(), Is.EqualTo("18"));
}
#endregion
#region Day2
[Test]
public void Day2_1Test()
{
var day2_1 = new Day2_1("Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green\r\nGame 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue\r\nGame 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red\r\nGame 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red\r\nGame 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green");
Assert.That(day2_1.Execute(), Is.EqualTo("8"));
}
[Test]
public void Day2_2Test()
{
var day2_2 = new Day2_2("Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green\r\nGame 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue\r\nGame 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red\r\nGame 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red\r\nGame 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green");
Assert.That(day2_2.Execute(), Is.EqualTo("2286"));
}
[Test]
public void Day2_2_ExplodedTest()
{
var day2_2 = new Day2_2("Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green");
var day2_2_Game1 = day2_2.Execute();
day2_2 = new Day2_2("Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue");
var day2_2_Game2 = day2_2.Execute();
day2_2 = new Day2_2("Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red");
var day2_2_Game3 = day2_2.Execute();
day2_2 = new Day2_2("Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red");
var day2_2_Game4 = day2_2.Execute();
day2_2 = new Day2_2("Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green");
var day2_2_Game5 = day2_2.Execute();
Assert.That(day2_2_Game1, Is.EqualTo("48"));
Assert.That(day2_2_Game2, Is.EqualTo("12"));
Assert.That(day2_2_Game3, Is.EqualTo("1560"));
Assert.That(day2_2_Game4, Is.EqualTo("630"));
Assert.That(day2_2_Game5, Is.EqualTo("36"));
}
#endregion
}
}