public void SinglePhoto_ShouldThrowExceptiopWhenLargeImagePathIsEmpty() { //Arrange string thumb = "thumb"; string large = ""; string alt = "alt"; var prettyPhotoMatcher = SimplePrettyPhotoMedia(thumb, large, alt); var factory = new prettyPhotoMediaFactory(); //Act var prettyPhoto = factory.SinglePhoto(thumb, large, alt); //Assert }
public void SinglePhoto_ShouldNuildASimpleImageWithThumbAndLargePicsInput() { //Arrange string thumb = "thumb"; string large = "large"; string alt = "alt"; var prettyPhotoMatcher = SimplePrettyPhotoMedia(thumb, large, alt); var factory = new prettyPhotoMediaFactory(); //Act var prettyPhoto = factory.SinglePhoto(thumb, large, alt); //Assert // prettyPhoto.Should().Be(prettyPhotoMatcher); }
public void SinglePhotoUseLargeForBoth_ShouldReturntheRightPaths() { //Arrange string large = "large"; string alt = "alt"; var prettyPhotoMatcher = SimplePrettyPhotoMedia(large, large, alt); var factory = new prettyPhotoMediaFactory(); //Act var prettyPhoto = factory.SinglePhotoUseLargeForBoth(large, alt); //Assert // prettyPhoto.Should().Be(prettyPhotoMatcher); }
private TOut BuildProcess <TOut>() where TOut : PageViewModelBase, IJewelryItemViewModel, new() { var viewModel = new TOut(); var jewel = jewelRepository.GetJewelByID(jewelryID); if (jewel == null) { throw new ArgumentNullException(); } viewModel.Title = jewel.Title; viewModel.ID = jewel.ID.ToString(); var prettyMediaFactory = new prettyPhotoMediaFactory(); var formatter = new JONFormatter(); viewModel.MainJewelPicture = prettyMediaFactory.SinglePhoto(jewel.Media.PictureURLForWebDisplay, jewel.Media.HiResURLForWebDisplay, jewel.Title); viewModel.HiResJewelPicture = prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HiResURLForWebDisplay, jewel.Title); var extraMedia = new List <prettyPhotoMedia>(); if (fileSystem.File.Exists(jewel.Media.HiResDiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HiResURLForWebDisplay, jewel.Title)); } if (fileSystem.File.Exists(jewel.Media.HandDiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HandURLForWebDisplay, jewel.Title)); } if (fileSystem.File.Exists(jewel.Media.ReportDiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.ReportURLForWebDisplay, "Report")); } if (fileSystem.File.Exists(jewel.Media.HiRes2DiskPathForWebDisplay)) { extraMedia.Add(prettyMediaFactory.SinglePhotoUseLargeForBoth(jewel.Media.HiRes2URLForWebDisplay, "Report")); } viewModel.ExtraImages = extraMedia; if (fileSystem.File.Exists(jewel.Media.MovieDiskPathForWebDisplay)) { viewModel.HasMovie = true; viewModel.Movie = jewel.Media.MovieURLForWebDisplay; } var price = new Money(jewel.Price, Currency.Usd).Format("{1}{0:#,0}"); viewModel.Price = price; viewModel.RegularPrice = new Money(jewel.RegularPrice, Currency.Usd).Format("{1}{0:#,0}"); viewModel.YouSave = String.Format("{0:0.##}%", Math.Round(100 - (jewel.Price / jewel.RegularPrice) * 100)); viewModel.isSpecial = jewel.IsSpecial; viewModel.ItemNumber = jewel.ItemNumber; viewModel.Metal = jewel.MetalFullName(); viewModel.Weight = jewel.Weight > 0 ? formatter.ToGramWeight(jewel.Weight) : "N/A"; viewModel.Width = jewel.Width > 0 ? formatter.ToMilimeter(jewel.Width) : "N/A"; viewModel.IsBestOffer = jewel.IsBestOffer; var specs = new List <JewelComponentInfoPart>(); var colors = new List <string>() { "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", }; var clarities = new List <string>() { "FL", "IF", "VVS1", "VVS2", "VS1", "VS2", "SI1", "SI2", "SI3", "I1", "I2", "I3", }; colors.Reverse(); clarities.Reverse(); if (jewel.JewelryExtra.CS.Count > 0) { specs.Add(new JewelComponentInfoPart("Stone", jewel.JewelryExtra.CS.Type, 1)); specs.Add(new JewelComponentInfoPart("Minimum carat total weight:", formatter.ToCaratWeight(jewel.JewelryExtra.CS.Weight), 1)); specs.Add(new JewelComponentInfoPart("# of Stones", jewel.JewelryExtra.CS.Count.ToString(), 1)); var wordsToSayHowTheQualityIs = "Minimum"; if (jewel.JewelryExtra.CS.Count > 1) { wordsToSayHowTheQualityIs = "Average"; specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Color", CreateRangeStringFrom(colors, jewel.JewelryExtra.CS.Color, 1), 1)); specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Clarity", CreateRangeStringFrom(clarities, jewel.JewelryExtra.CS.Clarity, 1), 1)); } else { specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Color", jewel.JewelryExtra.CS.Color, 1)); specs.Add(new JewelComponentInfoPart(wordsToSayHowTheQualityIs + " Clarity", jewel.JewelryExtra.CS.Clarity, 1)); } } if (jewel.JewelryExtra.SS.Count > 0) { specs.Add(new JewelComponentInfoPart("Stone", jewel.JewelryExtra.SS.Type, 2)); specs.Add(new JewelComponentInfoPart("Minimum carat total weight:", formatter.ToCaratWeight(jewel.JewelryExtra.SS.Weight), 2)); specs.Add(new JewelComponentInfoPart("# of Stones", jewel.JewelryExtra.SS.Count.ToString(), 2)); specs.Add(new JewelComponentInfoPart("Average Color", CreateRangeStringFrom(colors, jewel.JewelryExtra.SS.Color, 1), 2)); specs.Add(new JewelComponentInfoPart("Average Clarity", CreateRangeStringFrom(clarities, jewel.JewelryExtra.SS.Clarity, 1), 2)); viewModel.HasSideStones = true; } viewModel.SpecsPool = specs; var testimonailsFromDB = testimonialRepository.GetRandomTestimonails(3); viewModel.Testimonials = mapper.Map <List <Testimonial>, List <TestimonialViewModel> >(testimonailsFromDB); viewModel.PageTitle = viewModel.Title + " - " + viewModel.Price; viewModel.JewelType = jewel.Type; return(viewModel); }