示例#1
0
        public void GetProducts_Should_Not_Return_Available_Products_90()
        {
            IProduct       products = new InMemoryProduct();
            ProductFactory factory  = new ProductFactory(products, 91);
            var            result   = factory.GetProducts();

            Assert.AreEqual(null, result);
        }
示例#2
0
        public void GetProducts_Should_Return_Available_Products_90()
        {
            IProduct       products = new InMemoryProduct();
            ProductFactory factory  = new ProductFactory(products, 89);
            var            expect   = 1;
            var            result   = factory.GetProducts();

            Assert.AreEqual(expect, result.Count());
        }
示例#3
0
        public void GetProducts_Should_Return_Available_Products_60()
        {
            IProduct       products = new InMemoryProduct();
            ProductFactory factory  = new ProductFactory(products, 55);

            var data   = factory.GetProducts();
            var expect = true;
            var result = data.Any(x => x.LoanToValuePercentage == 60);

            Assert.AreEqual(expect, result);
        }
示例#4
0
        public void GetAvailableProduct_Should_Not_Return_Available_Products_if_ltv_equals_90()
        {
            IProduct products = new InMemoryProduct();
            IUser    users    = new InMemoryUser();
            User     newUser  = new User()
            {
                Id = 0, FirstName = "Sanjay", LastName = "xxx", DOB = DateTime.Parse("1990-05-05"), Email = "*****@*****.**"
            };

            users.AddUser(newUser);
            ProductServiceProvider service = new ProductServiceProvider(products, users);
            ProductSearchTerms     terms   = new ProductSearchTerms()
            {
                UserID = 1, PropertyValue = 100000, DepositeAmount = 10000
            };
            var result = service.GetAvailableProduct(terms);

            Assert.AreEqual(null, result);
        }
示例#5
0
        public void GetAvailableProduct_Should_Return_Available_Products_LTV60_And90()
        {
            IProduct products = new InMemoryProduct();
            IUser    users    = new InMemoryUser();
            User     newUser  = new User()
            {
                Id = 0, FirstName = "Sanjay", LastName = "xxx", DOB = DateTime.Parse("1990-05-05"), Email = "*****@*****.**"
            };

            users.AddUser(newUser);
            ProductServiceProvider service = new ProductServiceProvider(products, users);
            ProductSearchTerms     terms   = new ProductSearchTerms()
            {
                UserID = 1, PropertyValue = 100000, DepositeAmount = 40001
            };
            var expect = products.GetAllProducts();
            var result = service.GetAvailableProduct(terms);

            Assert.AreEqual(expect.Count() == 3, result.Count() == 3);
            Assert.AreEqual(expect.ElementAt(0).LoanToValuePercentage, result.ElementAt(0).LoanToValuePercentage);
        }
 public ProductController(InMemoryProduct inMemoryProduct)
 {
     this.inMemoryProduct = inMemoryProduct;
 }