using System; using AGVNavigationCore.Models; namespace AGVNavigationCore.Utils { /// /// DirectionalPathfinder 테스트 실행 프로그램 /// /// 사용법: /// var runner = new TestRunner(); /// runner.RunTests(); /// public class TestRunner { public void RunTests() { string mapFilePath = @"C:\Data\Source\(5613#) ENIG AGV\Source\Cs_HMI\Data\NewMap.json"; var tester = new DirectionalPathfinderTest(); // 맵 파일 로드 if (!tester.LoadMapFile(mapFilePath)) { Console.WriteLine("맵 파일 로드 실패!"); return; } // 모든 노드 정보 출력 tester.PrintAllNodes(); // 테스트 시나리오 1: 001 → 002 → Forward (003 기대) tester.PrintNodeInfo(001); tester.PrintNodeInfo(002); tester.TestDirectionalMovement(001, 002, AgvDirection.Forward); // 테스트 시나리오 2: 002 → 001 → Backward (000 또는 이전 기대) tester.TestDirectionalMovement(002, 001, AgvDirection.Backward); // 테스트 시나리오 3: 002 → 003 → Forward tester.PrintNodeInfo(003); tester.TestDirectionalMovement(002, 003, AgvDirection.Forward); // 테스트 시나리오 4: 003 → 004 → Forward tester.PrintNodeInfo(004); tester.TestDirectionalMovement(003, 004, AgvDirection.Forward); // 테스트 시나리오 5: 003 → 004 → Right (030 기대) tester.TestDirectionalMovement(003, 004, AgvDirection.Right); // 테스트 시나리오 6: 004 → 003 → Backward tester.TestDirectionalMovement(004, 003, AgvDirection.Backward); Console.WriteLine("\n\n=== 테스트 완료 ==="); } } }