Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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]);
        }