public void TestGeometricMeanOfVWSP() { CommonStock commonStock1 = new CommonStock("Test", 8, 100); CommonStock commonStock2 = new CommonStock("Second Test", 10, 60); var now = DateTime.Now; var oneMinsBeforeNow = now.AddMinutes(-1); var twoMinsBeforeNow = now.AddMinutes(-2); var threeMinsBeforeNow = now.AddMinutes(-3); var fourMinsBeforeNow = now.AddMinutes(-4); var firstTrade = new Trade(1, TradeIndicator.Buy, 10, oneMinsBeforeNow); var secondTrade = new Trade(2, TradeIndicator.Buy, 10, twoMinsBeforeNow); var thirdTrade = new Trade(3, TradeIndicator.Buy, 10, threeMinsBeforeNow); var fourthTrade = new Trade(4, TradeIndicator.Buy, 10, fourMinsBeforeNow); var fifthTrade = new Trade(6, TradeIndicator.Buy, 20, fourMinsBeforeNow); commonStock1.AddNewTrade(firstTrade); commonStock1.AddNewTrade(secondTrade); commonStock1.AddNewTrade(thirdTrade); commonStock2.AddNewTrade(fourthTrade); commonStock2.AddNewTrade(fifthTrade); StockMarket market = new StockMarket(new List <CommonStock> { commonStock1, commonStock2 }); Assert.AreEqual(market.CalculateGBCEWeightedStockPrice(), Math.Sqrt(160), 0.001); }