public async IAsyncEnumerable <ItemDetailsOutputModel> GetItemDetails(IList <long> itemIds) { foreach (var id in itemIds) { var item = await _itemRepository.GetById(id); var prices = await _auctionRepository.GetPricesByItemId(id); var stats = PriceStatsHelper.GetItemPriceStats(prices); yield return(new ItemDetailsOutputModel(item.Id, item.Name, stats)); } }
public void ShouldGetCorrectPricesStatictics() { //Arrange List <decimal> priceList = new List <decimal> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; var expectedAverage = 6; var expectedMedian = 6; var expectedMax = 11; var expectedMin = 1; //Act var result = PriceStatsHelper.GetItemPriceStats(priceList); //Assert result.AveragePrice.Should().Be(expectedAverage); result.MedianPrice.Should().Be(expectedMedian); result.MaxPrice.Should().Be(expectedMax); result.MinPrice.Should().Be(expectedMin); }