Added solution for "Day 11: Cosmic Expansion", part 2
This commit is contained in:
@@ -33,6 +33,7 @@ type
|
||||
function CreateSolver: ISolver; override;
|
||||
published
|
||||
procedure TestPart1;
|
||||
procedure TestPart2;
|
||||
end;
|
||||
|
||||
{ TCosmicExpansionExampleTestCase }
|
||||
@@ -44,6 +45,36 @@ type
|
||||
procedure TestPart1;
|
||||
end;
|
||||
|
||||
{ TFactor10CosmicExpansion }
|
||||
|
||||
TFactor10CosmicExpansion = class(TCosmicExpansion)
|
||||
function GetExpansionFactor: Integer; override;
|
||||
end;
|
||||
|
||||
{ TCosmicExpansionExampleFactor10TestCase }
|
||||
|
||||
TCosmicExpansionExampleFactor10TestCase = class(TExampleEngineBaseTest)
|
||||
protected
|
||||
function CreateSolver: ISolver; override;
|
||||
published
|
||||
procedure TestPart2;
|
||||
end;
|
||||
|
||||
{ TFactor100CosmicExpansion }
|
||||
|
||||
TFactor100CosmicExpansion = class(TCosmicExpansion)
|
||||
function GetExpansionFactor: Integer; override;
|
||||
end;
|
||||
|
||||
{ TCosmicExpansionExampleFactor100TestCase }
|
||||
|
||||
TCosmicExpansionExampleFactor100TestCase = class(TExampleEngineBaseTest)
|
||||
protected
|
||||
function CreateSolver: ISolver; override;
|
||||
published
|
||||
procedure TestPart2;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TCosmicExpansionFullDataTestCase }
|
||||
@@ -58,6 +89,11 @@ begin
|
||||
AssertEquals(9686930, FSolver.GetResultPart1);
|
||||
end;
|
||||
|
||||
procedure TCosmicExpansionFullDataTestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(630728425490, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
{ TCosmicExpansionExampleTestCase }
|
||||
|
||||
function TCosmicExpansionExampleTestCase.CreateSolver: ISolver;
|
||||
@@ -70,9 +106,49 @@ begin
|
||||
AssertEquals(374, FSolver.GetResultPart1);
|
||||
end;
|
||||
|
||||
{ TFactor10CosmicExpansion }
|
||||
|
||||
function TFactor10CosmicExpansion.GetExpansionFactor: Integer;
|
||||
begin
|
||||
Result := 9;
|
||||
end;
|
||||
|
||||
{ TCosmicExpansionExampleFactor10TestCase }
|
||||
|
||||
function TCosmicExpansionExampleFactor10TestCase.CreateSolver: ISolver;
|
||||
begin
|
||||
Result := TFactor10CosmicExpansion.Create;
|
||||
end;
|
||||
|
||||
procedure TCosmicExpansionExampleFactor10TestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(1030, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
{ TFactor100CosmicExpansion }
|
||||
|
||||
function TFactor100CosmicExpansion.GetExpansionFactor: Integer;
|
||||
begin
|
||||
Result := 99;
|
||||
end;
|
||||
|
||||
{ TCosmicExpansionExampleFactor100TestCase }
|
||||
|
||||
function TCosmicExpansionExampleFactor100TestCase.CreateSolver: ISolver;
|
||||
begin
|
||||
Result := TFactor100CosmicExpansion.Create;
|
||||
end;
|
||||
|
||||
procedure TCosmicExpansionExampleFactor100TestCase.TestPart2;
|
||||
begin
|
||||
AssertEquals(8410, FSolver.GetResultPart2);
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
||||
RegisterTest(TCosmicExpansionFullDataTestCase);
|
||||
RegisterTest(TCosmicExpansionExampleTestCase);
|
||||
RegisterTest(TCosmicExpansionExampleFactor10TestCase);
|
||||
RegisterTest(TCosmicExpansionExampleFactor100TestCase);
|
||||
end.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user