feat: solve part 2
This commit is contained in:
@@ -36,13 +36,25 @@ public class MazeTests
|
||||
[MemberData(nameof(TestData.FurthestStepFromStartTestData), MemberType = typeof(TestData))]
|
||||
public void FurthestStepFromStart_WhenGivenInput_ItShouldReturnExpectedFurthestStepFromStart(Maze maze, int expectedFurthestStepFromStart)
|
||||
{
|
||||
maze.FarthestStepFromStart
|
||||
maze.GetFarthestStepFromStart()
|
||||
.Should()
|
||||
.Be(expectedFurthestStepFromStart);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(TestData.AreaTestData), MemberType = typeof(TestData))]
|
||||
public void Area_WhenGivenInput_ItShouldReturnExpectedArea(string[] input, int expectedArea)
|
||||
{
|
||||
var maze = Maze.Parse(input);
|
||||
maze.GetAreaOfLoop()
|
||||
.Should()
|
||||
.Be(expectedArea);
|
||||
}
|
||||
|
||||
public static class TestData
|
||||
{
|
||||
private static readonly string[] Input = File.ReadAllLines("INPUT.txt");
|
||||
|
||||
private static readonly string[] TestMazeInput =
|
||||
{
|
||||
".....",
|
||||
@@ -68,6 +80,66 @@ public class MazeTests
|
||||
]
|
||||
);
|
||||
|
||||
public static IEnumerable<object[]> AreaTestData =>
|
||||
new List<object[]>
|
||||
{
|
||||
new object[]
|
||||
{
|
||||
new string[]
|
||||
{
|
||||
"...........",
|
||||
".S-------7.",
|
||||
".|F-----7|.",
|
||||
".||.....||.",
|
||||
".||.....||.",
|
||||
".|L-7.F-J|.",
|
||||
".|..|.|..|.",
|
||||
".L--J.L--J.",
|
||||
"...........",
|
||||
},
|
||||
4,
|
||||
},
|
||||
new object[]
|
||||
{
|
||||
new string[]
|
||||
{
|
||||
".F----7F7F7F7F-7....",
|
||||
".|F--7||||||||FJ....",
|
||||
".||.FJ||||||||L7....",
|
||||
"FJL7L7LJLJ||LJ.L-7..",
|
||||
"L--J.L7...LJS7F-7L7.",
|
||||
"....F-J..F7FJ|L7L7L7",
|
||||
"....L7.F7||L7|.L7L7|",
|
||||
".....|FJLJ|FJ|F7|.LJ",
|
||||
"....FJL-7.||.||||...",
|
||||
"....L---J.LJ.LJLJ...",
|
||||
},
|
||||
8
|
||||
},
|
||||
new object[]
|
||||
{
|
||||
new string[]
|
||||
{
|
||||
"FF7FSF7F7F7F7F7F---7",
|
||||
"L|LJ||||||||||||F--J",
|
||||
"FL-7LJLJ||||||LJL-77",
|
||||
"F--JF--7||LJLJ7F7FJ-",
|
||||
"L---JF-JLJ.||-FJLJJ7",
|
||||
"|F|F-JF---7F7-L7L|7|",
|
||||
"|FFJF7L7F-JF7|JL---7",
|
||||
"7-L-JL7||F7|L7F-7F7|",
|
||||
"L.L7LFJ|||||FJL7||LJ",
|
||||
"L7JLJL-JLJLJL--JLJ.L",
|
||||
},
|
||||
10
|
||||
},
|
||||
new object[]
|
||||
{
|
||||
Input,
|
||||
287,
|
||||
}
|
||||
};
|
||||
|
||||
public static IEnumerable<object[]> FurthestStepFromStartTestData =>
|
||||
new List<object[]>
|
||||
{
|
||||
@@ -112,6 +184,11 @@ public class MazeTests
|
||||
]
|
||||
),
|
||||
8,
|
||||
},
|
||||
new object[]
|
||||
{
|
||||
Maze.Parse(Input),
|
||||
6870,
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user