Пример #1
0
 public void TestCarsRepository_AddMethodWhenPassCarr_ShouldAddCorrectly()
 {
     // Database did not initialise the list, solved it with a database constructor
     var carRepo = new CarsRepository();
     var mockedCar = new Mock<Car>();
     var initialCount = carRepo.TotalCars;
     carRepo.Add(mockedCar.Object);
     var finalCount = carRepo.TotalCars;
     Assert.AreEqual(initialCount + 1, finalCount);
 }
Пример #2
0
        public void TestCarsRepository_AllMethod_ShouldWorkCorrectly()
        {
            var carRepo = new CarsRepository();

            foreach (var car in cars)
            {
                carRepo.Add(car);
            }

            Assert.AreEqual(cars, carRepo.All());
        }
        public void Add_ShouldThrowArgumentException_IfCarIsNull()
        {
            // Arrange
            Car car = null;
            var db = new Database();
            db.Cars = new List<Car>();
            var count = db.Cars.Count;
            var carsRepository = new CarsRepository(db);

            // Act and Assert
            Assert.Throws<ArgumentException>(() => carsRepository.Add(car), "Null car cannot be added");
        }
        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 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 void SortedByYear_ShouldReturnSortedListOfCarsByYear()
        {
            // Arrange
            var datebase = new List<Car>();
            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 };
            datebase.Add(firstCar);
            datebase.Add(secondCar);
            datebase.Add(thirdCar);

            var mock = new Mock<IDatabase>();
            mock.Setup(m => m.Cars).Returns(datebase);
            var fakeDB = mock.Object;
            var carsRepository = new CarsRepository(fakeDB);

            // Act
            var sortedListByYear = carsRepository.SortedByYear();
            var expected = 2005;

            // Assert
            Assert.AreEqual(expected, (sortedListByYear.First()).Year);
        }
        public void Search_ShouldReturnListOfAllCars_IfStringIsNullOrEmpty()
        {
            // Arrange
            var datebase = new List<Car>();
            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 };
            datebase.Add(firstCar);
            datebase.Add(secondCar);
            var mock = new Mock<IDatabase>();
            mock.Setup(m => m.Cars).Returns(datebase);
            var fakeDB = mock.Object;
            var carsRepository = new CarsRepository(fakeDB);

            // Act
            var result = carsRepository.Search("");

            // Assert
            mock.Verify(m => m.Cars, Times.Exactly(1));
        }
        public void Search_ShouldReturnCarByGivenString()
        {
            // Arrange
            var datebase = new List<Car>();
            var firstCar = new Car { Id = 1, Make = "Audi", Model = "A5", Year = 2005 };
            datebase.Add(firstCar);
            var mock = new Mock<IDatabase>();
            mock.Setup(m => m.Cars).Returns(datebase);
            var fakeDB = mock.Object;
            var carsRepository = new CarsRepository(fakeDB);

            // Act
            var result = carsRepository.Search("Audi");

            // Assert
            mock.Verify(m => m.Cars, Times.Exactly(1));
        }
        public void Remove_ShouldThrowArgumentException_IfCarIsNull()
        {
            // Arrange
            Car car = null;
            var carsRepository = new CarsRepository();

            // Act and Assert
            var ex = Assert.Throws<ArgumentException>(() => carsRepository.Remove(car));
            Assert.IsTrue(ex.Message.Contains("Null car cannot be removed"));
        }
Пример #11
0
        public void TestCarsRepository_SearchMethodPassNull_ShouldReturnAllCars()
        {
            var carRepo = new CarsRepository();

            foreach (var car in cars)
            {
                carRepo.Add(car);
            }

            Assert.AreEqual(cars, carRepo.Search(null));
        }
Пример #12
0
 public void TestCarsRepository_CheckParameterlessConstructor_ShouldInitialiseCorrectly()
 {
     var carRepo = new CarsRepository();
     Assert.IsNotNull(carRepo);
 }
Пример #13
0
 public void TestCarsRepository_CheckConstructorWithMockedDB_ShouldInitialiseCorrectly()
 {
     var mockedDataBase = new Mock<Database>();
     var carRepo = new CarsRepository(mockedDataBase.Object);
     Assert.IsNotNull(carRepo);
 }
Пример #14
0
 public void TestCarsRepository_AddMethodWhenPassNull_ShouldThrowArgumentException()
 {
     var carRepo = new CarsRepository();
     Assert.Throws<ArgumentException>(() => carRepo.Add(null));
 }
Пример #15
0
        public void TestCarsRepository_SortedByYear_ShouldWorkCorrectly()
        {
            var carRepo = new CarsRepository();

            foreach (var car in cars)
            {
                carRepo.Add(car);
            }

            Assert.AreEqual(cars.OrderBy(c => c.Year).ToList(), carRepo.SortedByYear());
        }
Пример #16
0
        public void TestCarsRepository_SearchMethodPassValidCars_ShouldReturnAllCars()
        {
            var carRepo = new CarsRepository();
            var make = "Audi";
            List<Car> result;

            cars[0].Make = make;
            foreach (var car in cars)
            {
                carRepo.Add(car);
            }
            result = cars.Where(c => c.Make == make || c.Model == make).ToList();

            Assert.AreEqual(result, carRepo.Search(make));
        }
        public void Testing_GetterOnClassCarsRepository()
        {
            // Arrange
            var datebase = new List<Car>();
            var firstCar = new Car { Id = 1, Make = "Audi", Model = "A5", Year = 2005 };
            datebase.Add(firstCar);
            var mock = new Mock<IDatabase>();
            mock.Setup(m => m.Cars).Returns(datebase);
            var fakeDB = mock.Object;
            var carsRepository = new CarsRepository(fakeDB);

            // Act
            var totalCars = carsRepository.TotalCars;
            var expected = 1;

            // Assert
            Assert.AreEqual(expected, totalCars);
        }
Пример #18
0
        public void TestCarsRepository_GetByIdInvalidParameter_ShouldThrowArgumentException()
        {
            var carRepo = new CarsRepository();

            Assert.Throws<ArgumentException>(() => carRepo.GetById(5));
        }
Пример #19
0
        public void TestCarsRepository_GetByIdValidParameter_ShouldReturnCar()
        {
            var carRepo = new CarsRepository();
            var car = new Car { Id = 1, Make = "Audi", Model = "A5", Year = 2005 };

            carRepo.Add(car);

            Assert.AreEqual(car, carRepo.GetById(car.Id));
        }
        public void Remove_ShouldremoveCarFromCarsRepository_WhenIsCalled()
        {
            // Arrange
            var car = new Car { Id = 1, Make = "Audi", Model = "A5", Year = 2005 };
            var db = new Database();
            db.Cars = new List<Car>();
            var carsRepository = new CarsRepository(db);

            // Act
            carsRepository.Add(car);
            carsRepository.Remove(car);

            // Assert
            Assert.AreEqual(0, db.Cars.Count);
        }
        public void GetById_ShouldThrowException_IfThereIsNoCarWithThatId()
        {
            // Arrange
            var mock = new Mock<IDatabase>();
            mock.Setup(m => m.Cars).Returns(new List<Car>() { }); ;
            var fakeDB = mock.Object;
            var carsRepository = new CarsRepository(fakeDB);

            // Act and Assert
            var ex = Assert.Throws<ArgumentException>(() => carsRepository.GetById(7));
            Assert.IsTrue(ex.Message.Contains("Car with such Id could not be found"));
        }
Пример #22
0
        public void TestCarsRepository_RemoveMethodWhenPassCarr_ShouldRemoveCorrectly()
        {
            var carRepo = new CarsRepository();
            var mockedCar = new Mock<Car>();
            var initialCount = carRepo.TotalCars;

            carRepo.Add(mockedCar.Object);
            carRepo.Remove(mockedCar.Object);
            var finalCount = carRepo.TotalCars;

            Assert.AreEqual(initialCount, finalCount);
        }