public JsonResult GetAllProducts(Currency?currency) { ProductDataConsolidator productDataConsolidator = new ProductDataConsolidator(); var products = productDataConsolidator.GetAll(currency); return(Json(new { Success = true, products = JsonConvert.SerializeObject(products) }, JsonRequestBehavior.AllowGet)); }
public void TestMethod1() { ProductDataConsolidator instance = new ProductDataConsolidator(); var plist = instance.Get(State.NZ); var plist2 = instance.Get(State.US); var plist3 = instance.Get(State.EURO); }
public static void Main(string[] args) { Console.WriteLine("NZD ==============================================="); foreach (var product in ProductDataConsolidator.Get()) { Console.WriteLine(product.Name); Console.WriteLine(product.Type); Console.WriteLine(product.Price); } Console.WriteLine("==============================================="); Console.WriteLine("USD ==============================================="); foreach (var product in ProductDataConsolidator.GetInUSDollars()) { Console.WriteLine(product.Name); Console.WriteLine(product.Type); Console.WriteLine(product.Price); } Console.WriteLine("==============================================="); Console.WriteLine("EUR ==============================================="); foreach (var product in ProductDataConsolidator.GetInEuros()) { Console.WriteLine(product.Name); Console.WriteLine(product.Type); Console.WriteLine(product.Price); } Console.WriteLine("==============================================="); }
public void GetProducts_Search_null() { SearchCriteria searchCriteria = null; var productConsolidator = new ProductDataConsolidator(); Assert.ThrowsException <ArgumentNullException>(() => productConsolidator.Get(searchCriteria)); }
public void GetProducts_Search_LawnMower_and_name() { SearchCriteria searchCriteria = new SearchCriteria { productType = ProductType.Lawnmover, name = "Fisher" }; var productConsolidator = new ProductDataConsolidator(); var result = productConsolidator.Get(searchCriteria); Assert.IsNotNull(result); }
public void GetProducts_Search_name_and_producttype_null() { SearchCriteria searchCriteria = new SearchCriteria { productType = null, name = "Fisher" }; var productConsolidator = new ProductDataConsolidator(); var result = productConsolidator.Get(searchCriteria); Assert.IsNotNull(result); }
public void GetAllProducts(Currency?currency) { string expected1 = ProductType.Lawnmover.ToString(); string expected2 = ProductType.PhoneCase.ToString(); string expected3 = ProductType.TShirt.ToString(); var productConsolidator = new ProductDataConsolidator(); var result = productConsolidator.GetAll(currency); Assert.IsNotNull(result); Assert.IsNotNull(result.Where(x => x.Type.Equals(expected1)).Select(x => x.Type).FirstOrDefault()); Assert.IsNotNull(result.Where(x => x.Type.Equals(expected2)).Select(x => x.Type).FirstOrDefault()); Assert.IsNotNull(result.Where(x => x.Type.Equals(expected3)).Select(x => x.Type).FirstOrDefault()); }
public void GetProductsAndConvertCurrencyTest() { List <Product> expectedProducts = new List <Product>(); Mock <IReadOnlyRepository <Lawnmower> > mockLawnmowerRepo = new Mock <IReadOnlyRepository <Lawnmower> >(); Mock <IReadOnlyRepository <TShirt> > mockTShirtRepo = new Mock <IReadOnlyRepository <TShirt> >(); Mock <IReadOnlyRepository <PhoneCase> > mockPhoneCaseRepo = new Mock <IReadOnlyRepository <PhoneCase> >(); mockLawnmowerRepo.Setup(ur => ur.GetAll()).Returns(lawnmowerMockedGetAll()); ProductDataConsolidator consolidator = new ProductDataConsolidator(mockLawnmowerRepo.Object, mockTShirtRepo.Object, mockPhoneCaseRepo.Object); List <Product> actualProducts = consolidator.GetProductsUsingForeignCurrency(CurrencyCode.EUR); Assert.AreEqual(_lawnmowerPrice * 0.67, actualProducts.First().Price); }
public void GetAllProductsInEuros() { var productDataBuilderMock = new Mock<IProductDataBuilder>(); var data = PopulateData(); productDataBuilderMock.Setup(x => x.GetProductList()) .Returns(data); var consolidator = new ProductDataConsolidator(productDataBuilderMock.Object); var allProducts = consolidator.GetInEuros(); Assert.AreEqual(3, allProducts.Count); productDataBuilderMock.Verify(x => x.GetProductList(), Times.Once); CheckAsserts(allProducts, data, .67); }
public void GetAllProductsInEuros() { var productDataBuilderMock = new Mock <IProductDataBuilder>(); var data = PopulateData(); productDataBuilderMock.Setup(x => x.GetProductList()) .Returns(data); var consolidator = new ProductDataConsolidator(productDataBuilderMock.Object); var allProducts = consolidator.GetInEuros(); Assert.AreEqual(3, allProducts.Count); productDataBuilderMock.Verify(x => x.GetProductList(), Times.Once); CheckAsserts(allProducts, data, .67); }
public void GetProductsTest() { List <Product> expectedProducts = new List <Product>(); Mock <IReadOnlyRepository <Lawnmower> > mockLawnmowerRepo = new Mock <IReadOnlyRepository <Lawnmower> >(); Mock <IReadOnlyRepository <TShirt> > mockTShirtRepo = new Mock <IReadOnlyRepository <TShirt> >(); Mock <IReadOnlyRepository <PhoneCase> > mockPhoneCaseRepo = new Mock <IReadOnlyRepository <PhoneCase> >(); mockLawnmowerRepo.Setup(ur => ur.GetAll()).Returns(lawnmowerMockedGetAll()); mockTShirtRepo.Setup(ur => ur.GetAll()).Returns(tShirtMockedGetAll()); mockPhoneCaseRepo.Setup(ur => ur.GetAll()).Returns(phoneCaseMockedGetAll()); ProductDataConsolidator consolidator = new ProductDataConsolidator(mockLawnmowerRepo.Object, mockTShirtRepo.Object, mockPhoneCaseRepo.Object); List <Product> actualProducts = consolidator.GetProducts(); Assert.IsTrue(actualProducts.Any(x => x.Id == _lawnmowerGuid && x.Name == _lawnmowerName && x.Price == _lawnmowerPrice && x.Type == "Lawnmower")); Assert.IsTrue(actualProducts.Any(x => x.Id == _tShirtGuid && x.Name == _tShirtName && x.Price == _tShirtPrice && x.Type == "T-Shirt")); Assert.IsTrue(actualProducts.Any(x => x.Id == _phoneCaseGuid && x.Name == _phoneCaseName && x.Price == _phoneCasePrice && x.Type == "Phone Case")); Assert.AreEqual(actualProducts.Count, 3); }
public void TestRate() { var consolidator = new ProductDataConsolidator(); var l = new LawnmowerRepository(); var p = new PhoneCaseRepository(); var t = new TShirtRepository(); var lawnmowers = l.GetAll(); var phoneCases = p.GetAll(); var tshirts = t.GetAll(); consolidator.Consolidate(lawnmowers); consolidator.Consolidate(phoneCases); consolidator.Consolidate(tshirts); var products = consolidator.GetAll(); var rate = 0.67; consolidator.Rate = 0.67; var i = 0; foreach (var lawnmower in lawnmowers) { AssertEqual(products[i++], lawnmower, rate); } foreach (var phoneCase in phoneCases) { AssertEqual(products[i++], phoneCase, rate); } foreach (var tshirt in tshirts) { AssertEqual(products[i++], tshirt, rate); } }
public void GetAll() { var lawnmowerRepoMock = GetRepositoryMock( new[] { new Lawnmower { Id = Guid.NewGuid(), Name = "RideOn Lawnmower1", Price = 1.0, FuelEfficiency = "efficient", IsVehicle = true } } ); var phoneCaseRepoMock = GetRepositoryMock( new[] { new PhoneCase { Id = Guid.NewGuid(), Name = "Fancy", Price = 20.0, Colour = "red gofaster stripes", Material = "diamond", TargetPhone = "All your phone are belong to us!" }, new PhoneCase { Id = Guid.NewGuid(), Name = "Boring", Price = 0.11, Colour = "brown", Material = "wood", TargetPhone = "flip fones" } } ); var teeShirtRepoMock = GetRepositoryMock( new[] { new TShirt { Id = Guid.NewGuid(), Name = "Minecraft", Colour = "Green", Price = 81.24, ShirtText = "CreeperFace" } } ); var consolidator = new ProductDataConsolidator( lawnmowerRepoMock.Object, phoneCaseRepoMock.Object, teeShirtRepoMock.Object ); var products = consolidator.GetAll() .ToList(); Assert.AreEqual(4, products.Count, "Count mismatch!"); CollectionAssert.AllItemsAreNotNull(products, "Contains null!"); CollectionAssert.AllItemsAreInstancesOfType(products, typeof(Product), "Bad type contents!"); CollectionAssert.AllItemsAreUnique(products, "Doubleup!"); Assert.AreEqual(1, products.Count(p => p.Type == "Lawnmower"), "lawn count!"); Assert.AreEqual(2, products.Count(p => p.Type == "Phone Case"), "case count!"); Assert.AreEqual(1, products.Count(p => p.Type == "T-Shirt"), "shirt count!"); }