79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| {
 | |
|   Solutions to the Advent Of Code.
 | |
|   Copyright (C) 2023  Stefan Müller
 | |
| 
 | |
|   This program is free software: you can redistribute it and/or modify it under
 | |
|   the terms of the GNU General Public License as published by the Free Software
 | |
|   Foundation, either version 3 of the License, or (at your option) any later
 | |
|   version.
 | |
| 
 | |
|   This program is distributed in the hope that it will be useful, but WITHOUT
 | |
|   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | |
|   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 | |
| 
 | |
|   You should have received a copy of the GNU General Public License along with
 | |
|   this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| }
 | |
| 
 | |
| unit ULongWalkTestCases;
 | |
| 
 | |
| {$mode ObjFPC}{$H+}
 | |
| 
 | |
| interface
 | |
| 
 | |
| uses
 | |
|   Classes, SysUtils, fpcunit, testregistry, USolver, UBaseTestCases, ULongWalk;
 | |
| 
 | |
| type
 | |
| 
 | |
|   { TLongWalkFullDataTestCase }
 | |
| 
 | |
|   TLongWalkFullDataTestCase = class(TEngineBaseTest)
 | |
|   protected
 | |
|     function CreateSolver: ISolver; override;
 | |
|   published
 | |
|     procedure TestPart1;
 | |
|   end;
 | |
| 
 | |
|   { TLongWalkExampleTestCase }
 | |
| 
 | |
|   TLongWalkExampleTestCase = class(TExampleEngineBaseTest)
 | |
|   protected
 | |
|     function CreateSolver: ISolver; override;
 | |
|   published
 | |
|     procedure TestPart1;
 | |
|   end;
 | |
| 
 | |
| implementation
 | |
| 
 | |
| { TLongWalkFullDataTestCase }
 | |
| 
 | |
| function TLongWalkFullDataTestCase.CreateSolver: ISolver;
 | |
| begin
 | |
|   Result := TLongWalk.Create;
 | |
| end;
 | |
| 
 | |
| procedure TLongWalkFullDataTestCase.TestPart1;
 | |
| begin
 | |
|   AssertEquals(2218, FSolver.GetResultPart1);
 | |
| end;
 | |
| 
 | |
| { TLongWalkExampleTestCase }
 | |
| 
 | |
| function TLongWalkExampleTestCase.CreateSolver: ISolver;
 | |
| begin
 | |
|   Result := TLongWalk.Create;
 | |
| end;
 | |
| 
 | |
| procedure TLongWalkExampleTestCase.TestPart1;
 | |
| begin
 | |
|   AssertEquals(94, FSolver.GetResultPart1);
 | |
| end;
 | |
| 
 | |
| initialization
 | |
| 
 | |
|   RegisterTest(TLongWalkFullDataTestCase);
 | |
|   RegisterTest(TLongWalkExampleTestCase);
 | |
| end.
 | |
| 
 |