Exemplo n.º 1
0
        public void SaveCurrencyRate_IsNotNull_ItShouldSave()
        {
            var expected = new Domain.DomainObjects.CurrencyRate {
                Id = 1, Day = DateTime.Today, BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
            };

            var ratesAgent = new Mock <ICurrencyRatesDataAgent>();

            ratesAgent.Setup(_ => _.SaveCurrencyRate(It.IsAny <CurrencyRate>())).Returns(true);

            var service = new Domain.PersistenceServices.DatabaseCurrencyRatePersistenceService(ratesAgent.Object);
            var result  = service.SaveCurrencyRate(expected);

            Assert.IsTrue(result);
        }
Exemplo n.º 2
0
        public void GetCurrencyRate_Queried_ItShouldReturnRate()
        {
            var expected = new Database.Models.CurrencyRate {
                Id = 1, Day = DateTime.Today, BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
            };

            var ratesAgent = new Mock <ICurrencyRatesDataAgent>();

            ratesAgent.Setup(_ => _.GetCurrencyRate(It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <string>())).Returns(expected);

            var service = new Domain.PersistenceServices.DatabaseCurrencyRatePersistenceService(ratesAgent.Object);
            var actual  = service.GetCurrencyRate(DateTime.Today, "EUR", "GBP");

            Assert.AreEqual(expected.Id, actual.Id);
        }
Exemplo n.º 3
0
        public void ListCurrencyRates_Queried_ItShouldReturnRates()
        {
            var expected = new List <Database.Models.CurrencyRate>
            {
                new Database.Models.CurrencyRate {
                    Id = 1, Day = DateTime.Today.AddDays(-10), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 2, Day = DateTime.Today.AddDays(-9), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 3, Day = DateTime.Today.AddDays(-8), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 4, Day = DateTime.Today.AddDays(-7), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 5, Day = DateTime.Today.AddDays(-6), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 6, Day = DateTime.Today.AddDays(-5), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 7, Day = DateTime.Today.AddDays(-4), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 8, Day = DateTime.Today.AddDays(-3), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 9, Day = DateTime.Today.AddDays(-2), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
                new Database.Models.CurrencyRate {
                    Id = 10, Day = DateTime.Today.AddDays(-1), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m
                },
            };

            var ratesAgent = new Mock <ICurrencyRatesDataAgent>();

            ratesAgent.Setup(_ => _.ListCurrencyRates(It.IsAny <int>(), It.IsAny <int>())).Returns(expected);

            var service = new Domain.PersistenceServices.DatabaseCurrencyRatePersistenceService(ratesAgent.Object);
            var actual  = service.ListCurrencyRates(0, 10);

            Assert.AreEqual(expected.Count, actual.Count());
        }