public void GivenTankWaterDto_ReturnsTankWaterResponse() { // Arrange var tankWater = new TankWaterListDto { WaterId = Guid.NewGuid(), Stage = WaterCycleStage.BuildingAnaerobic, Levels = new List <TankWaterLevelListDto> { new TankWaterLevelListDto { Metric = Metric.Units, Quantity = 23 } } }; // Act var result = tankWater.ToResponse(); // Assert Assert.Multiple(() => { Assert.That(result.WaterId, Is.EqualTo(tankWater.WaterId)); Assert.That(result.Stage, Is.EqualTo(tankWater.Stage)); var tankWaterLevel = tankWater.Levels.FirstOrDefault(); var resultingTankWaterLevel = result.Levels.FirstOrDefault(); Assert.That(resultingTankWaterLevel.Metric, Is.EqualTo(tankWaterLevel.Metric)); Assert.That(resultingTankWaterLevel.Quantity, Is.EqualTo(tankWaterLevel.Quantity)); }); }
public static TankWaterResponse ToResponse(this TankWaterListDto tankWaterList) { return(new TankWaterResponse { WaterId = tankWaterList.WaterId, Stage = tankWaterList.Stage, Levels = tankWaterList.Levels? .Select(tankWaterLevel => tankWaterLevel.ToResponse()) .ToList() }); }