public void RecentEdgeWeight_Filter_ReturnsFalseIfPricesAreEmpty() { CommodityHistoryAccessor commodityHistory = new CommodityHistoryAccessor(); Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base2")); RecentEdgeWeight recentEdgeWeight = new RecentEdgeWeight(DateTime.Now); PriceGraphEdge edge = new PriceGraphEdge(); var result = recentEdgeWeight.Filter(commodity1, commodity2, edge); Assert.False(result); }
public void RecentEdgeWeight_Filter_ReturnsTrueIfRefTimeBiggerThanFirstPrice() { CommodityHistoryAccessor commodityHistory = new CommodityHistoryAccessor(); Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base2")); DateTime firstPriceTime = new DateTime(2010, 10, 15); DateTime refTime = new DateTime(2010, 11, 5); RecentEdgeWeight recentEdgeWeight = new RecentEdgeWeight(refTime); PriceGraphEdge edge = new PriceGraphEdge(); edge.Prices.Add(firstPriceTime, new Amount(10)); var result = recentEdgeWeight.Filter(commodity1, commodity2, edge); Assert.True(result); }
public void RecentEdgeWeight_Filter_ReturnsTrueAndUpdatesWeight() { CommodityHistoryAccessor commodityHistory = new CommodityHistoryAccessor(); Commodity commodity1 = new Commodity(CommodityPool.Current, new CommodityBase("base1")); Commodity commodity2 = new Commodity(CommodityPool.Current, new CommodityBase("base2")); DateTime firstPriceTime = new DateTime(2010, 10, 1); DateTime oldest = new DateTime(2010, 11, 2); DateTime actualPriceTime = new DateTime(2010, 12, 5); DateTime refTime = new DateTime(2011, 02, 02); RecentEdgeWeight recentEdgeWeight = new RecentEdgeWeight(refTime, oldest); PriceGraphEdge edge = new PriceGraphEdge(); edge.Prices.Add(firstPriceTime, new Amount(10)); edge.Prices.Add(actualPriceTime, new Amount(12)); var result = recentEdgeWeight.Filter(commodity1, commodity2, edge); Assert.True(result); Assert.Equal(refTime - actualPriceTime, edge.Weight); Assert.Equal(actualPriceTime, edge.PricePoint.When); Assert.Equal(new Amount(12), edge.Prices[actualPriceTime]); }