/
GeoExe
/
RoutePlanning_Task
Обзор
Документация
Войти
/
GeoExe
/
RoutePlanning_Task
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
TestCases/TestCase.cs
53 строки
1 KB
GeoExe
Added Test and UI files
25 ноя 2025, 20:40
25 ноя 2025, 20:40
ca8595d
Код
Авторство
О чём код?
using System; using System.Threading.Tasks; namespace RoutePlanning.TestCases; public abstract class TestCase { public string Name { get; } public TestResult LastResult { get; private set; } = TestResult.NotRun; protected Exception? LastException { get; private set; } protected TestCase(string name) { Name = $"{name}"; } public Task Run() => Task.Run(() => { try { LastResult = InternalRun() ? TestResult.Passed : TestResult.Failed; } catch (Exception? ex) { LastException = ex; LastResult = TestResult.Failed; } }); public void Visualize(TestCaseUI ui) { if (LastResult == TestResult.Passed) ui.Log("Success!"); if (LastResult == TestResult.Failed) ui.Log("Failed..."); InternalVisualize(ui); if (LastException == null) return; ui.Log(""); ui.Log(LastException.ToString()); } protected abstract bool InternalRun(); protected abstract void InternalVisualize(TestCaseUI ui); } public enum TestResult { NotRun, Passed, Failed, }