public void Value_UnitTest()
        {
            mockExchangeRates.Setup(m => m.ConvertValue(It.IsAny <double>(), It.IsAny <string>(), It.IsAny <string>())).Returns(3);
            var assetPortfolio = new AssetPortfolio(mockExchangeRates.Object);
            var value          = assetPortfolio.Value("USD");

            Assert.AreEqual(value, 0);

            assetPortfolio.Portfolio = new List <IAsset>()
            {
                new Stock("ABC", "USD", 3, 2),
                new Stock("XYZ", "USD", 5, 1),
                new Currency("EUR", 100),
                new Currency("USD", 100),
            };

            value = assetPortfolio.Value("USD");

            Assert.AreEqual(value, 12);
        }
        [TestMethod, TestCategory("LiveTest")] //this is a live test because it hits the service directly
        public void Value_LiveTest()
        {
            var assetPortfolio = new AssetPortfolio(new ExchangeRates(new ServiceWrapper()))
            {
                Portfolio = new List <IAsset>()
                {
                    new Stock("ABC", "USD", 3, 2), //6 USD or 5ish GBP
                    new Stock("XYZ", "USD", 5, 1), //5 USD or 4ish GBP
                    new Currency("EUR", 100),      //112 ish USD or 90ish GBP
                    new Currency("USD", 100),      // 100 USD or 80ish GBP
                }
            };
            var value = assetPortfolio.Value("USD"); // should be 223 ish

            Assert.IsFalse(value == 0);
            Assert.IsFalse(value == (6 + 5 + 100 + 100));

            value = assetPortfolio.Value("GBP"); //should be 179ish GBP

            Assert.IsFalse(value == 0);
            Assert.IsFalse(value == (6 + 5 + 100 + 100));
        }
示例#3
0
        public void TestValuationPortfolio(AssetPortfolio portfolio, decimal expected, string currency)
        {
            decimal actual = portfolio.Value(currency);

            Assert.AreEqual(expected, actual);
        }