Added solution for "Day 10: Pipe Maze", part 2
This commit is contained in:
@@ -90,6 +90,66 @@ type
|
||||
procedure TestPart1;
|
||||
end;
|
||||
|
||||
{ TExample5PipeMaze }
|
||||
|
||||
TExample5PipeMaze = class(TPipeMaze)
|
||||
function GetDataFileName: string; override;
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample5TestCase }
|
||||
|
||||
TPipeMazeExample5TestCase = class(TExampleEngineBaseTest)
|
||||
protected
|
||||
function CreateSolver: ISolver; override;
|
||||
published
|
||||
procedure TestPart2;
|
||||
end;
|
||||
|
||||
{ TExample6PipeMaze }
|
||||
|
||||
TExample6PipeMaze = class(TPipeMaze)
|
||||
function GetDataFileName: string; override;
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample6TestCase }
|
||||
|
||||
TPipeMazeExample6TestCase = class(TExampleEngineBaseTest)
|
||||
protected
|
||||
function CreateSolver: ISolver; override;
|
||||
published
|
||||
procedure TestPart2;
|
||||
end;
|
||||
|
||||
{ TExample7PipeMaze }
|
||||
|
||||
TExample7PipeMaze = class(TPipeMaze)
|
||||
function GetDataFileName: string; override;
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample7TestCase }
|
||||
|
||||
TPipeMazeExample7TestCase = class(TExampleEngineBaseTest)
|
||||
protected
|
||||
function CreateSolver: ISolver; override;
|
||||
published
|
||||
procedure TestPart2;
|
||||
end;
|
||||
|
||||
{ TExample8PipeMaze }
|
||||
|
||||
TExample8PipeMaze = class(TPipeMaze)
|
||||
function GetDataFileName: string; override;
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample8TestCase }
|
||||
|
||||
TPipeMazeExample8TestCase = class(TExampleEngineBaseTest)
|
||||
protected
|
||||
function CreateSolver: ISolver; override;
|
||||
published
|
||||
procedure TestPart2;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TPipeMazeFullDataTestCase }
|
||||
@@ -106,7 +166,7 @@ end;
|
||||
|
||||
procedure TPipeMazeFullDataTestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(-1, FSolver.GetResultPart2);
|
||||
AssertEquals(355, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
{ TPipeMazeExampleTestCase }
|
||||
@@ -178,6 +238,82 @@ begin
|
||||
AssertEquals(8, FSolver.GetResultPart1);
|
||||
end;
|
||||
|
||||
{ TExample5PipeMaze }
|
||||
|
||||
function TExample5PipeMaze.GetDataFileName: string;
|
||||
begin
|
||||
Result := 'pipe_maze5.txt';
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample5TestCase }
|
||||
|
||||
function TPipeMazeExample5TestCase.CreateSolver: ISolver;
|
||||
begin
|
||||
Result := TExample5PipeMaze.Create;
|
||||
end;
|
||||
|
||||
procedure TPipeMazeExample5TestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(4, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
{ TExample6PipeMaze }
|
||||
|
||||
function TExample6PipeMaze.GetDataFileName: string;
|
||||
begin
|
||||
Result := 'pipe_maze6.txt';
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample6TestCase }
|
||||
|
||||
function TPipeMazeExample6TestCase.CreateSolver: ISolver;
|
||||
begin
|
||||
Result := TExample6PipeMaze.Create;
|
||||
end;
|
||||
|
||||
procedure TPipeMazeExample6TestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(4, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
{ TExample7PipeMaze }
|
||||
|
||||
function TExample7PipeMaze.GetDataFileName: string;
|
||||
begin
|
||||
Result := 'pipe_maze7.txt';
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample7TestCase }
|
||||
|
||||
function TPipeMazeExample7TestCase.CreateSolver: ISolver;
|
||||
begin
|
||||
Result := TExample7PipeMaze.Create;
|
||||
end;
|
||||
|
||||
procedure TPipeMazeExample7TestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(8, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
{ TExample8PipeMaze }
|
||||
|
||||
function TExample8PipeMaze.GetDataFileName: string;
|
||||
begin
|
||||
Result := 'pipe_maze8.txt';
|
||||
end;
|
||||
|
||||
{ TPipeMazeExample8TestCase }
|
||||
|
||||
function TPipeMazeExample8TestCase.CreateSolver: ISolver;
|
||||
begin
|
||||
Result := TExample8PipeMaze.Create;
|
||||
end;
|
||||
|
||||
procedure TPipeMazeExample8TestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(10, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
||||
RegisterTest(TPipeMazeFullDataTestCase);
|
||||
@@ -185,4 +321,8 @@ initialization
|
||||
RegisterTest(TPipeMazeExample2TestCase);
|
||||
RegisterTest(TPipeMazeExample3TestCase);
|
||||
RegisterTest(TPipeMazeExample4TestCase);
|
||||
RegisterTest(TPipeMazeExample5TestCase);
|
||||
RegisterTest(TPipeMazeExample6TestCase);
|
||||
RegisterTest(TPipeMazeExample7TestCase);
|
||||
RegisterTest(TPipeMazeExample8TestCase);
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user