public void Test_CtorWithAd() { // Given SailingBoatAd ad = new SailingBoatAd { Title = "title", SailingBoatType = new Bea.Domain.Reference.SailingBoatType { Label = "type" }, HullType = new Bea.Domain.Reference.SailingBoatHullType { Label = "hull" }, Year = 2012, Length = 15.75000, City = new City(), CreatedBy = new User() }; var helperMock = new Moq.Mock<IHelperService>(); helperMock.Setup(x => x.GetCulture()).Returns(new System.Globalization.CultureInfo("Fr")); // When SailingBoatAdDetailsModel actual = new SailingBoatAdDetailsModel(ad, helperMock.Object); // Then Assert.AreEqual(ad.Title, actual.Title); Assert.AreEqual(ad.SailingBoatType.Label, actual.BoatType); Assert.AreEqual(ad.HullType.Label, actual.HullType); Assert.AreEqual(ad.Year, actual.Year); Assert.AreEqual("15,75 Mtr", actual.Length); }
public void Test_CtorWithAd_NoTypes() { // Given SailingBoatAd ad = new SailingBoatAd { Title = "title", City = new City(), CreatedBy = new User() }; // When SailingBoatAdDetailsModel actual = new SailingBoatAdDetailsModel(ad, null); // Then Assert.AreEqual(ad.Title, actual.Title); Assert.AreEqual(String.Empty, actual.BoatType); Assert.AreEqual(String.Empty, actual.HullType); Assert.AreEqual(null, actual.Year); Assert.AreEqual(String.Empty, actual.Length); }
protected AdDetailsModel CreateAdDetailsModelFromAd(AdTypeEnum adType, long adId) { AdDetailsModel model = null; BaseAd ad = null; // Get the right Ad based on its type switch (adType) { case AdTypeEnum.Ad: ad = _adRepository.GetAdById<Ad>(adId); model = new AdDetailsModel(ad); break; case AdTypeEnum.CarAd: ad = _adRepository.GetAdById<CarAd>(adId); model = new CarAdDetailsModel(ad as CarAd); break; case AdTypeEnum.MotoAd: ad = _adRepository.GetAdById<MotoAd>(adId); model = new MotoAdDetailsModel(ad as MotoAd); break; case AdTypeEnum.OtherVehiculeAd: ad = _adRepository.GetAdById<OtherVehicleAd>(adId); model = new OtherVehicleAdDetailsModel(ad as OtherVehicleAd); break; case AdTypeEnum.SailingBoatAd: ad = _adRepository.GetAdById<SailingBoatAd>(adId); model = new SailingBoatAdDetailsModel(ad as SailingBoatAd, _helperService); break; case AdTypeEnum.MotorBoatAd: ad = _adRepository.GetAdById<MotorBoatAd>(adId); model = new MotorBoatAdDetailsModel(ad as MotorBoatAd, _helperService); break; case AdTypeEnum.MotorBoatEngineAd: ad = _adRepository.GetAdById<MotorBoatEngineAd>(adId); model = new MotorBoatEngineAdDetailsModel(ad as MotorBoatEngineAd); break; case AdTypeEnum.WaterSportAd: ad = _adRepository.GetAdById<WaterSportAd>(adId); model = new WaterSportAdDetailsModel(ad as WaterSportAd); break; case AdTypeEnum.RealEstateAd: ad = _adRepository.GetAdById<RealEstateAd>(adId); model = new RealEstateAdDetailsModel(ad as RealEstateAd); break; default: return null; } // Compute whether or not this Ad is new (less than 3 days) model.IsNew = ad.CreationDate > _helperService.GetCurrentDateTime().AddHours(-72); return model; }