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

44 lines
1.3 KiB
C#

namespace Transport.Test;
public sealed class CarTests : TestBase
{
private static readonly Dictionary<int, (decimal bp, decimal ppk, decimal cpk)> carPriceAndCost = new()
{
[101] = (1.8M, 1.05M, 1M),
[102] = (3M, 1.008M, 0.96M),
[103] = (3.3M, 1.176M, 1.12M),
[104] = (4.8M, 1.134M, 1.08M)
};
[Fact]
public void CreateFromWorksheet()
{
List<Car> cars = Car.CreateFromWorksheet(LoadSheets().carWorksheet);
cars.Should()
.NotBeNull()
.And.NotBeEmpty()
.And.HaveCount(4)
.And.Contain(GetSampleCars());
}
[Fact]
public void PriceAndCost()
{
List<Car> cars = Car.CreateFromWorksheet(LoadSheets().carWorksheet);
foreach (var car in cars)
{
(car.BasePrice, car.PricePerKM, car.CostPerKM)
.Should().Be(carPriceAndCost[car.Id]);
}
}
private static List<Car> GetSampleCars() =>
[
CreateInstance<Car>(101, Color.Red, 1620, 26789.3D, 105, CarBrand.VW),
CreateInstance<Car>(102, Color.Blue, 1510, 122734.2D, 80, CarBrand.Dacia),
CreateInstance<Car>(103, Color.White, 2180, 45611.7D, 180, CarBrand.BMW),
CreateInstance<Car>(104, Color.Grey, 1798, 93417.8D, 204, CarBrand.AlfaRomeo)
];
}