27 lines
933 B
C#
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);
|
|
}
|
|
}
|