public void ParseAllFiles() { Console.WriteLine("Importing cars from JSON"); db.Configuration.AutoDetectChangesEnabled = false; for (int i = 0; i < 5; i++) { Console.WriteLine("From file No {0}", i + 1); currentListOfCars = this.LoadFile(rootPath + "data." + i + ".json"); var index = 0; foreach (var car in currentListOfCars) { var currentCarToImport = new Car { Year = car.Year, TransmissionType = (TransmissionType)car.TransmissionType, Model = car.Model, Price = car.Price }; var manufacturer = this.db.Manufacturers.FirstOrDefault(m => m.Name == car.ManufacturerName); if (manufacturer == null) { manufacturer = new Manufacturer { Name = car.ManufacturerName }; } currentCarToImport.Manufacturer = manufacturer; var dealer = this.db.Dealers.FirstOrDefault(d => d.Name == car.Dealer.Name); if (dealer == null) { dealer = new Dealer { Name = car.Dealer.Name }; } var city = this.db.Cities.FirstOrDefault(c => c.Name == car.Dealer.City); if (city == null) { city = new City { Name = car.Dealer.City }; } dealer.Cities.Add(city); currentCarToImport.Dealer = dealer; db.Cars.Add(currentCarToImport); db.SaveChanges(); index++; if (index % 100 == 0) { Console.Write("."); } } db.SaveChanges(); Console.WriteLine("Importing from file No {0} finished!", i + 1); } db.Configuration.AutoDetectChangesEnabled = true; Console.WriteLine("Importing cars from JSON finished!"); }
public void SeedDataFromJsonObjects(IList<CarMap> jsonObjects) { Console.WriteLine("Seed JSON objects to MSSQL Database..."); for (int i = 0; i < jsonObjects.Count; i++) { var jsonObj = jsonObjects[i]; var car = new Car() { Year = jsonObj.Year, TransmissionType = (TransmissionType)jsonObj.TransmissionType, Manufacturer = this.GetOrCreateManufacturer(jsonObj.ManufacturerName), Model = jsonObj.Model, Price = (decimal)jsonObj.Price, Dealer = this.GetDealer(jsonObj.Dealer) }; this.carsDbContext.Cars.Add(car); if (i % 100 == 0) { Console.Write("."); this.carsDbContext.SaveChanges(); } } this.carsDbContext.SaveChanges(); Console.WriteLine("\nJSON Objects were deserialized and seeded to database sucessfully!\n"); }
public void ExpectAddingCarsInRepoThenReturnSortedByYearToHaveCorrectResults() { byte specialCounter = 20; short[] years = { 2013, 2001, 2004, 2000, 2010 }; List<int> expectedResultYears = new List<int>(); this.fakeCarsData.Remove(new Car()); for (var i = 0; i < specialCounter; i++) { var vartburg = new Car() { Id = (i + 1) * 1945, Make = "GDR2", Model = "Kombi" + i, Year = years[i % years.Length] }; this.controller.Add(vartburg); expectedResultYears.Add(vartburg.Year); } var collection = (IList<Car>)this.GetModel(() => this.controller.Sort("year")); expectedResultYears.Sort(); for (int car = 0; car < expectedResultYears.Count; car++) { Assert.AreEqual(expectedResultYears[car], collection[car].Year); } }
private XElement GenerateDealerXElement(Car car, XElement carDealerCitiesXml) { var dealerXml = new XElement("Dealer", new XAttribute("Name", car.Dealer.Name), carDealerCitiesXml); return dealerXml; }
public void Remove(Car car) { if (car == null) { throw new ArgumentNullException("car", "Cannot remove null car."); } this.Data.Cars.Remove(car); }
public void Add(Car car) { if (car == null) { throw new ArgumentException("Null car cannot be added"); } this.Data.Cars.Add(car); }
public void Remove(Car car) { if (car == null) { throw new ArgumentException("Null car cannot be removed"); } this.Data.Cars.Remove(car); }
public void Import(string directoryPath) { var files = Directory.EnumerateFiles(directoryPath); foreach (var file in files) { using (var reader = new StreamReader(file)) { string json = reader.ReadToEnd(); var cars = JsonConvert.DeserializeObject<List<JsonCarModel>>(json); foreach (var jsonCarModel in cars) { var newCar = new Car { Model = jsonCarModel.Model, Year = jsonCarModel.Year, Price = jsonCarModel.Price, Dealer = GetOrCreateDealer(jsonCarModel.Dealer.Name), Manufacturer = GetOrCreateManifacturer(jsonCarModel.ManufacturerName), Transmission = GetOrCreateTransmission(jsonCarModel.TransmissionType) }; _carsContext.Cars.Add(newCar); _carsContext.SaveChanges(); } } } }
static void Main() { // Working! var db = new CarsDbContext(); db.Configuration.AutoDetectChangesEnabled = false; for (int i = 0; i <= 4; i++) { var filePath = "../../../../JSONData/data." + i + ".json"; var jsonText = File.ReadAllText(filePath); JArray allCars = JArray.Parse(jsonText); Console.WriteLine("Adding cars from file: {0}", filePath); int counter = 0; foreach (var car in allCars) { Manufacturer newManufacturer = new Manufacturer { Name = car["ManufacturerName"].ToString() }; Dealer newDealer = new Dealer { Name = car["Dealer"]["Name"].ToString() }; newDealer.Cities.Add(new City { Name = car["Dealer"]["City"].ToString() }); Car newCar = new Car { Model = car["Model"].ToString(), TransmisionType = int.Parse(car["TransmissionType"].ToString()), Price = decimal.Parse(car["Price"].ToString()), Year = int.Parse(car["Year"].ToString()), Manufacturer = newManufacturer, Dealer = newDealer }; newManufacturer.Cars.Add(newCar); newDealer.Cars.Add(newCar); db.Manufacturers.Add(newManufacturer); db.Dealers.Add(newDealer); db.Cars.Add(newCar); Console.Write("."); if (counter % 100 == 0) { db.SaveChanges(); } counter++; } db.SaveChanges(); Console.WriteLine("\nFile Read Complete -> All Cars where added successfuly!"); Console.WriteLine("\n"); } db.Configuration.AutoDetectChangesEnabled = false; }
public void Add(Car car) { if (car == null) { throw new ArgumentNullException("car", "Cannot add null car."); } this.Data.Cars.Add(car); }
private XElement GenerateCarXElement(Car car) { var carXml = new XElement("Car", new XAttribute("Manufacturer", car.Manufacturer.Name), new XAttribute("Model", car.Model), new XAttribute("Year", car.Year), new XAttribute("Price", Math.Round(car.Price, 2)), new XElement("TransmissionType", car.TransmissionType.ToString().ToLower())); return carXml; }
public void AddingCarShouldReturnADetail() { var car = new Car { Id = 15, Make = "BMW", Model = "330d", Year = 2014 }; var model = (Car)GetModel(() => this.controller.Add(car)); Assert.AreEqual(1, model.Id); Assert.AreEqual("Audi", model.Make); Assert.AreEqual("A4", model.Model); Assert.AreEqual(2005, model.Year); }
private XElement GenerateCityXElement(Car car) { var carDealerCitiesXml = new XElement("Cities"); foreach (var carDealerCity in car.Dealer.Cities) { var cityXml = new XElement("City", carDealerCity.Name); carDealerCitiesXml.Add(cityXml); } return carDealerCitiesXml; }
public void AddingCarShouldThrowArgumentNullExceptionIfCarMakeIsNull() { var car = new Car { Id = 15, Make = "", Model = "330d", Year = 2014 }; var model = (Car)this.GetModel(() => this.controller.Add(car)); }
public ActionResult Create(CarInputModel model) { if (ModelState.IsValid && model!=null) { var allShippersNames = Data.Shippers.All().Select(x => x.Name); if (model.ShipperName!=null && !allShippersNames.Contains(model.ShipperName)) { var newShipper = new Shipper { Name = model.ShipperName }; Data.Shippers.Add(newShipper); Data.SaveChanges(); var newCar = new Car { Id = model.Id, Brand = model.Brand, Description = model.Description, Power = model.Power, ShipperId = newShipper.Id, Year = model.Year }; _cars.Add(newCar); _cars.SaveChanges(); return RedirectToAction("Index"); } if (allShippersNames.Contains(model.ShipperName)) { var shipperId = Data.Shippers.All().SingleOrDefault(x => x.Name == model.ShipperName).Id; var newCar = new Car { Id = model.Id, Brand = model.Brand, Description = model.Description, Power = model.Power, ShipperId = shipperId, Year = model.Year }; _cars.Add(newCar); _cars.SaveChanges(); return RedirectToAction("Index"); } } return View(); }
public IView Add(Car car) { if (car== null) { throw new ArgumentNullException("car","Car cannot be null."); } if (string.IsNullOrEmpty(car.Make)||(string.IsNullOrEmpty(car.Model))) { throw new ArgumentOutOfRangeException("car", "Car make and model can not be empty."); } this.carsData.Add(car); return this.Details(car.Id); }
public void Add_ShouldAddCarToCarRepository() { // Arrange var car = new Car { Id = 1, Make = "Audi", Model = "A5", Year = 2005 }; var db = new Database(); db.Cars = new List<Car>(); var count = db.Cars.Count; var carsRepository = new CarsRepository(db); // Act carsRepository.Add(car); // Assert Assert.AreEqual(1, db.Cars.Count); }
public void GetById_ShouldFindCarById() { // Arrange var car = new Car { Id = 1, Make = "Audi", Model = "A5", Year = 2005 }; var mock = new Mock<IDatabase>(); mock.Setup(m => m.Cars).Returns(new List<Car>() { }); var fakeDB = mock.Object; fakeDB.Cars.Add(car); var carsRepository = new CarsRepository(fakeDB); // Act var result = carsRepository.GetById(1); // Assert mock.Verify(m => m.Cars, Times.Exactly(2)); }
public void AddShouldReturnDetail() { Car car = new Car() { Id = 15, Make = "Audi", Model = "A4", Year = 2005 }; var view = this.controller.Add(car); var model = (Car)view.Model; Assert.AreEqual(1, model.Id); Assert.AreEqual("Audi", model.Make); Assert.AreEqual("A4", model.Model); Assert.AreEqual(2005, model.Year); }
public void SearchMethodCarShouldReturnACarViewList() { string messageFormat = "Incorrect value for {0} returned"; var car = new Car { Id = 2, Make = "BMW", Model = "325i", Year = 2008 }; var modelList = (ICollection<Car>)this.GetModel(() => this.controller.Search("No mather what")); var model = modelList.FirstOrDefault(); Assert.AreEqual(car.Id, model.Id, messageFormat, "Id"); Assert.AreEqual(car.Make, model.Make, messageFormat, "Make"); Assert.AreEqual(car.Model, model.Model, messageFormat, "Model"); Assert.AreEqual(car.Year, model.Year, messageFormat, "Year"); }
public IView Add(Car car) { if (car == null) { throw new ArgumentNullException("car", "Car cannot be null"); } if (string.IsNullOrEmpty(car.Make) || string.IsNullOrEmpty(car.Model)) { throw new ArgumentNullException("car", "Car make and model cannot be empty"); } // homework add year validation if (1900 > car.Year || car.Year > DateTime.Now.Year) { throw new ArgumentOutOfRangeException("car", "Car year is invalid"); } this.carsData.Add(car); return this.Details(car.Id); }
public void All_ShouldReturnAllOfTheCarsInTheDB() { // Arrange var firstCar = new Car { Id = 1, Make = "Audi", Model = "A5", Year = 2005 }; var secondCar = new Car { Id = 2, Make = "Moskvich", Model = "12-tak", Year = 1980 }; var thirdCar = new Car { Id = 3, Make = "Lada", Model = "7-marka", Year = 1991 }; var mock = new Mock<IDatabase>(); mock.Setup(m => m.Cars).Returns(new List<Car>() { }); var fakeDB = mock.Object; fakeDB.Cars.Add(firstCar); fakeDB.Cars.Add(secondCar); fakeDB.Cars.Add(thirdCar); var carsRepository = new CarsRepository(fakeDB); // Act var result = carsRepository.All(); //Assert Assert.AreEqual(3, result.Count); }
public ActionResult Create(InsertCarModel model) { if (ModelState.IsValid && model != null) { var car = new Car { CarMakeId = model.SelectedMakeId, CarModelId = model.SelectedModelId, CreatedOn = DateTime.Now, OwnerId = this.CurrentUser.Id, Price = model.Price, Details = model.Details, CarYearId = model.SelectedCarYearId }; if (model.Image != null) { var pictureData = this.ReadPictureFromFile(model.Image); car.Pictures.Add(new Picture() { Image = pictureData }); } this.Data.Cars.Add(car); this.Data.SaveChanges(); this.cache.RemoveAllCarsWithoutViewModel(); this.cache.RemoveAllCarsFromCashe(); return this.RedirectToAction<HomeController>(c => c.Index()); } var inputModel = new CreateCarIndexModel(); inputModel.DropDownSelections.Makes = this.GetMakes(); inputModel.InsertCarModel = model; return this.View(inputModel); }
public void ExpectToAddAllCarsInTheRepo() { var specialCount = 20; for (int i = 0; i < specialCount; i++) { var trabant = new Car() { Id = (i + 1) * 1000, Make = "GDR", Model = "2" + i, Year = DateTime.Now.Year - 50 }; this.controller.Add(trabant); } var collection = (ICollection<Car>)this.GetModel(() => this.controller.Search("GDR")); Assert.AreEqual(specialCount, collection.Count); }
public void TestDetails_SeeIfReturnsCorrectView_ShouldReturnTrue() { var car = new Car { Id = 15, Make = "BMW", Model = "330d", Year = 2014 }; this.controller.Add(car); var view = this.controller.Details(15); Assert.IsNotNull(view); }
public void TestDetails_SeeIfReturnsAView_SHouldReturnTrue() { var car = new Car { Id = 15, Make = "BMW", Model = "330d", Year = 2014 }; this.controller.Add(car); var view = new View(car); Assert.IsTrue(view.GetType() == this.controller.Details(car.Id).GetType()); }
public void ExpectIDToHasDefaultIntValueWhenCarWithoutIDPased() { var someCar = new Car() { Make = "Some", Model = "Nowen", Year = DateTime.Now.Year }; this.controller.Add(someCar); var collection = (IList<Car>)this.GetModel(() => this.controller.Index()); var resultCar = collection.First(car => car.Make == "Some"); Assert.AreEqual(0, resultCar.Id); }
public void ExpectAddingDifferaneCarsInRepoThenReturnSortedByMakerToHaveCorrectResult() { var carMakers = new List<string>() { "BMW", "Audi", "Volkswagen" }; var carModels = new List<string>() { "x5", "A7", "Golf 2", "X6", "A7", "Golf 3", "M3", "A8", "Golf 4" }; IList<Car> carsFromEachGroup = new List<Car>(); //// Clears all fakeCollection. see Mocks JustMockCarsRepo this.fakeCarsData.Remove(new Car()); Assert.AreEqual(0, this.fakeCarsData.TotalCars); for (var i = 0; i < carModels.Count; i++) { var carToBeAdded = new Car { Id = (i + 1) * 1000, Make = carMakers[i % carMakers.Count], Model = carModels[i], Year = DateTime.Now.Year - i }; this.controller.Add(carToBeAdded); } var sortedCarsByMaker = (ICollection<Car>)this.GetModel(() => this.controller.Sort("make")); sortedCarsByMaker.GroupBy(car => car.Make).ToList().ForEach(group => carsFromEachGroup.Add(group.FirstOrDefault())); Assert.AreEqual(carMakers.Count, carsFromEachGroup.Count); carMakers.Sort(); for (var i = 0; i < carMakers.Count; i++) { Assert.AreEqual(carMakers[i], carsFromEachGroup[i].Make); } }
public void ExpectToHaveNormaBehaviorWhenCarsWithSameIDAdded() { int specialLength = 20; int theId = 100; var simpleCar = new Car() { Id = theId, Make = "New One", Model = "Old One", Year = DateTime.Now.Year }; for (int i = 0; i < specialLength; i++) { simpleCar.Make += i; this.controller.Add(simpleCar); } var collection = (List<Car>)this.GetModel(() => this.controller.Index()); var count = collection.Count(car => car.Id == theId); Assert.AreEqual(specialLength, count); }
public void SearchingShouldReturnView() { var car1 = new Car { Id = 2, Make = "BMW", Model = "325i", Year = 2008 }; var car2 = new Car { Id = 3, Make = "BMW", Model = "330d", Year = 2007 }; var result = new List<Car>(); result.Add(car1); result.Add(car2); var expected = (List<Car>)new View(result).Model; var actual = (List<Car>)this.controller.Search("BMW").Model; Assert.AreEqual(expected[0].Id, actual[0].Id); Assert.AreEqual(expected[0].Make, actual[0].Make); Assert.AreEqual(expected[0].Model, actual[0].Model); Assert.AreEqual(expected[0].Year, actual[0].Year); Assert.AreEqual(expected[1].Id, actual[1].Id); Assert.AreEqual(expected[1].Make, actual[1].Make); Assert.AreEqual(expected[1].Model, actual[1].Model); Assert.AreEqual(expected[1].Year, actual[1].Year); Assert.AreEqual(expected.Count, actual.Count); }