public void GetMarketStat_ValidRequest_ValidResponse() { MarketStatResponse res = api.GetMarketStat(validOptions); MarketStatItem entry = res.Result.First(); Assert.AreEqual(TypeId, entry.TypeId); Assert.AreNotEqual(0, entry.All.Average); Assert.AreNotEqual(0, entry.All.Volume); Assert.AreNotEqual(0, entry.All.Max); Assert.AreNotEqual(0, entry.All.Min); Assert.AreNotEqual(0, entry.All.StdDev); Assert.AreNotEqual(0, entry.All.Median); Assert.AreNotEqual(0, entry.All.Percentile); }
public void GetMarketStat_ValidRequest_ValidResponse() { MarketStatResponse res = _api.GetMarketStat(_validOptions); Element43MarketStatItem entry = res.Result.First(); Assert.AreEqual(TypeId, entry.TypeId); Assert.AreNotEqual(0, entry.SellOrders.Average); Assert.AreNotEqual(0, entry.SellOrders.Volume); Assert.AreNotEqual(0, entry.SellOrders.Max); Assert.AreNotEqual(0, entry.SellOrders.Min); Assert.AreNotEqual(0, entry.SellOrders.StdDev); Assert.AreNotEqual(0, entry.SellOrders.Median); Assert.AreNotEqual(0, entry.SellOrders.Percentile); Assert.AreNotEqual(0, entry.LastUpdate); Assert.AreNotEqual(0, entry.VolumeLastWeek); }
public void GetMarketStat_ValidRequest_ValidResponse() { var options = new EveCentralOptions() { System = 30000142 }; options.Items.Add(34); MarketStatResponse res = _api.GetMarketStat(options); EveCentralMarketStatItem entry = res.Result.First(); Assert.AreEqual(TypeId, entry.TypeId); Assert.AreNotEqual(0, entry.All.Average); Assert.AreNotEqual(0, entry.All.Volume); Assert.AreNotEqual(0, entry.All.Max); Assert.AreNotEqual(0, entry.All.Min); Assert.AreNotEqual(0, entry.All.StdDev); Assert.AreNotEqual(0, entry.All.Median); Assert.AreNotEqual(0, entry.All.Percentile); }
private List <MarketStatChartResponse> ConvertToListResponse(IEnumerable <MarketHistoryDB> items) { return(items.OrderBy(x => x.Timestamp).GroupBy(x => new { x.Location, x.ItemTypeId, x.QualityLevel }).Select(mainGroup => { var data = new MarketStatResponse() { ItemCount = new List <ulong>(), PricesAvg = new List <decimal>(), PricesMax = new List <ulong>(), PricesMin = new List <ulong>(), Timestamps = new List <ulong>() }; foreach (var timeGroup in mainGroup.GroupBy(x => x.Timestamp)) { var itemCount = (ulong)timeGroup.Sum(x => (long)x.ItemAmount); var silverAmount = (ulong)timeGroup.Sum(x => (long)x.SilverAmount); ulong averagePrice = 0; if (itemCount > 0) { averagePrice = silverAmount / itemCount; } data.ItemCount.Add(itemCount); data.Timestamps.Add((ulong)new DateTimeOffset(timeGroup.Key).ToUnixTimeMilliseconds()); // Since we are getting these values from the game now, we just have one value data.PricesAvg.Add(averagePrice); data.PricesMin.Add(averagePrice); data.PricesMax.Add(averagePrice); } return new MarketStatChartResponse { Location = Locations.GetName(mainGroup.Key.Location), ItemTypeId = mainGroup.Key.ItemTypeId, QualityLevel = mainGroup.Key.QualityLevel, Data = data }; }).OrderBy(x => x.Location).ThenBy(x => x.ItemTypeId).ThenBy(x => x.QualityLevel).ToList()); }
public void GetMarketStat_InvalidArgument_ContractException() { MarketStatResponse res = api.GetMarketStat(invalidOptions); }