ex-inh-05-transport/Transport.Test/TestBase.cs
github-classroom[bot] dcabbbaf15
Initial commit
2025-02-25 17:10:54 +00:00

27 lines
933 B
C#

using System.Reflection;
namespace Transport.Test;
public abstract class TestBase
{
protected static readonly string Path = System.IO.Path.Combine(Directory.GetCurrentDirectory(),
"Data/vehicles.xlsx");
protected static (IXLWorksheet carWorksheet, IXLWorksheet rickshawWorksheet) LoadSheets()
{
var workbook = new XLWorkbook(Path);
var rickshawSheet = workbook.Worksheet(Rickshaw.WorksheetName);
var carSheet = workbook.Worksheet(Car.WorksheetName);
return (carSheet, rickshawSheet);
}
protected static TVehicle CreateInstance<TVehicle>(params object?[] ctorParameters) where TVehicle : Vehicle
{
var ctor = typeof(TVehicle)
.GetConstructors(BindingFlags.Instance | BindingFlags.NonPublic)
.Single();
return (TVehicle) ctor.Invoke(ctorParameters);
}
}