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(params object?[] ctorParameters) where TVehicle : Vehicle { var ctor = typeof(TVehicle) .GetConstructors(BindingFlags.Instance | BindingFlags.NonPublic) .Single(); return (TVehicle) ctor.Invoke(ctorParameters); } }