Exemplo n.º 1
0
        public void IsMovieAvailableReturnsOneDvdItemNeverRented()
        {
            //arrange
            const int testMovieId         = 6;
            var       actualDvdItems      = CreateDvdListForIsMovieAvailable();
            var       actualRentalList    = CreateRentalListForIsMovieAvailable();
            var       actualMovieList     = new List <Movie>();
            var       expectedDvdItemList = new List <DvdItem>();

            expectedDvdItemList.Add(new DvdItem {
                dvdItemId = 7, movieId = 6, media = null, serial = "7", price = 1500
            });
            var MovieRepository   = new Mock <IMovieRepository>();
            var DvdItemRepository = new Mock <IDvdItemRepository>();
            var RentalRepository  = new Mock <IRentalRepository>();

            MovieRepository.Setup(o => o.Find()).Returns(actualMovieList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);

            var movieEngine = new RentalsEngine(MovieRepository.Object, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedIsMovieAvailableDvdItems = movieEngine.IsMovieAvailable(testMovieId);

            //assert
            Assert.IsNotNull(returnedIsMovieAvailableDvdItems, "Returned DvdItemList is null");
            Assert.AreEqual(1, returnedIsMovieAvailableDvdItems.Count);
            CollectionAssert.AreEquivalent(expectedDvdItemList, returnedIsMovieAvailableDvdItems, "Returned DvdItem List does not match expected");
        }
Exemplo n.º 2
0
        public void IsMovieAvailableReturnsDvdItemNoneAvailable()
        {
            //arrange
            const int testMovieId      = 100;
            var       actualDvdItems   = CreateDvdList();
            var       actualRentalList = CreateRentalList();
            var       actualMovieList  = CreateMovieList();

            var expectedDvdItemList = new List <DvdItem>();

            var MovieRepository   = new Mock <IMovieRepository>();
            var DvdItemRepository = new Mock <IDvdItemRepository>();
            var RentalRepository  = new Mock <IRentalRepository>();

            MovieRepository.Setup(o => o.Find()).Returns(actualMovieList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);

            var movieEngine = new RentalsEngine(MovieRepository.Object, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedIsMovieAvailableDvdItems = movieEngine.IsMovieAvailable(testMovieId);

            //assert
            Assert.IsNotNull(returnedIsMovieAvailableDvdItems, "Returned DvdItemList is null");
            Assert.AreEqual(0, returnedIsMovieAvailableDvdItems.Count);
            CollectionAssert.AreEqual(expectedDvdItemList, returnedIsMovieAvailableDvdItems, "Returned DvdItem is not true");
        }
Exemplo n.º 3
0
        public void CheckoutMovieNotAlreadyRented()
        {
            //arrange
            const int testClientId      = 1;
            const int testDvdItemId     = 1;
            var       actualRentalList  = CreateRentalList();
            var       actualDvdItemList = CreateDvdItemList();
            var       expectedRental    = new Rental {
                rentalId = 11, dvdItemId = testDvdItemId, clientId = testClientId, rentalDate = new DateTime(2015, 09, 16, 14, 00, 00), expectedReturnDate = new DateTime(2015, 09, 17, 11, 00, 00)
            };
            var actualRentalReturned = new Rental();

            var RentalRepository  = new Mock <IRentalRepository>();
            var DvdItemRepository = new Mock <IDvdItemRepository>();

            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedRentalCheckout = movieEngine.CheckoutRental(testClientId, testDvdItemId);

            //assert
            Assert.IsNotNull(returnedRentalCheckout, "Returned Checkout is null");
            Assert.IsTrue(returnedRentalCheckout, "Returned Checkout is not false");
            RentalRepository.Verify(x => x.Add(It.Is <Rental>(r => r.clientId == 1 && r.dvdItemId == 1)));
        }
Exemplo n.º 4
0
        public void SearchMoviesReturnsListOfMovieWhileMatchesIsCaseInsensitive()
        {
            //arrange
            const string testSeachString           = "Abc";
            var          availableSearchableMovies = new List <Movie>();

            availableSearchableMovies.Add(new Movie {
                movieId = 4, title = MovieTitle4, description = null, image = null, stars = null, ageRestriction = null, director = null
            });
            availableSearchableMovies.Add(new Movie {
                movieId = 6, title = MovieTitle6, description = null, image = null, stars = null, ageRestriction = null, director = null
            });
            var actualSearchableMovies = CreateSearchableMovieList(MovieTitle1, MovieTitle2, MovieTitle3, MovieTitle4, MovieTitle5, MovieTitle6, MovieTitle7, MovieTitle8, MovieTitle9, MovieTitle10);

            var searchableMovieRepository = new Mock <IMovieRepository>();

            searchableMovieRepository.Setup(o => o.Find()).Returns(actualSearchableMovies);
            var movieEngine = new RentalsEngine(searchableMovieRepository.Object, null, null);

            //act
            var returnedSearchResultsMovies = movieEngine.SearchMovies(testSeachString);

            //assert
            Assert.IsNotNull(returnedSearchResultsMovies, "Returned movies list is null");
            Assert.AreEqual(2, returnedSearchResultsMovies.Count);
            CollectionAssert.AreEquivalent(availableSearchableMovies, returnedSearchResultsMovies, "Returned list of movies are not equivalent to the expected list");
        }
Exemplo n.º 5
0
        public void ListDvdItemsReturnsEmptyListIfTheAreDvdItemAtAll()
        {
            //arrange
            var dvdItemRepository = new Mock <IDvdItemRepository>();

            dvdItemRepository.Setup(o => o.Find()).Returns(new List <DvdItem>());
            var movieEngine = new RentalsEngine(null, dvdItemRepository.Object, null);

            //act
            var returnedDvdItems = movieEngine.ListDvdItem();

            //assert
            Assert.IsNotNull(returnedDvdItems, "Returned DvdItem list is null");
            Assert.AreEqual(0, returnedDvdItems.Count, "Returned DvdItem has DvdItem items");
        }
Exemplo n.º 6
0
        public void ListRentalsReturnsEmptyListIfTheAreRentalsAtAll()
        {
            //arrange
            var rentalRepository = new Mock <IRentalRepository>();

            rentalRepository.Setup(o => o.Find()).Returns(new List <Rental>());
            var rentalEngine = new RentalsEngine(null, null, rentalRepository.Object);

            //act
            var returnedRentals = rentalEngine.ListRental();

            //assert
            Assert.IsNotNull(returnedRentals, "Returned Rentals list is null");
            Assert.AreEqual(0, returnedRentals.Count, "Returned Rentals has Rentals items");
        }
Exemplo n.º 7
0
        public void ListMoviesReturnsEmptyListIfTheAreNoMoviesAtAll()
        {
            //arrange
            var movieRepository = new Mock <IMovieRepository>();

            movieRepository.Setup(o => o.Find()).Returns(new List <Movie>());
            var movieEngine = new RentalsEngine(movieRepository.Object, null, null);

            //act
            var returnedMovies = movieEngine.ListMovies();

            //assert
            Assert.IsNotNull(returnedMovies, "Returned movies list is null");
            Assert.AreEqual(0, returnedMovies.Count, "Returned movies has movie items");
        }
Exemplo n.º 8
0
        public void SearchMoviesReturnsEmptyListIfQueryReturnsNoMatches()
        {
            //arrange
            const string testSeachString        = "pLh";
            var          actualSearchableMovies = CreateSearchableMovieList(MovieTitle1, MovieTitle2, MovieTitle3, MovieTitle4, MovieTitle5, MovieTitle6, MovieTitle7, MovieTitle8, MovieTitle9, MovieTitle10);

            var searchableMovieRepository = new Mock <IMovieRepository>();

            searchableMovieRepository.Setup(o => o.Find()).Returns(actualSearchableMovies);
            var movieEngine = new RentalsEngine(searchableMovieRepository.Object, null, null);

            //act
            var returnedSearchResultsMovies = movieEngine.SearchMovies(testSeachString);

            //assert
            Assert.IsNotNull(returnedSearchResultsMovies, "Returned movies list is null");
            Assert.AreEqual(0, returnedSearchResultsMovies.Count);
        }
Exemplo n.º 9
0
        public void ListDvdItemsReturnsAllDvdItems()
        {
            //arrange
            var availableDvdItems = CreateDvdItemList();
            var actualDvdItems    = CreateDvdItemList();

            var dvdItemRepository = new Mock <IDvdItemRepository>();

            dvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            var rentalsEngine = new RentalsEngine(null, dvdItemRepository.Object, null);

            //act
            var dvdItems = rentalsEngine.ListDvdItem();

            //assert
            Assert.IsNotNull(dvdItems, "Return DvdItem collection is null");
            Assert.AreEqual(10, dvdItems.Count);
            CollectionAssert.AreEquivalent(availableDvdItems, dvdItems, "Returned list of DvdItem are not equivalent to the expected list");
        }
Exemplo n.º 10
0
        public void ListMoviesReturnsAllMovies()
        {
            //arrange
            var availableMovies = CreateMovieList();
            var actualMovies    = CreateMovieList();

            var movieRepository = new Mock <IMovieRepository>();

            movieRepository.Setup(o => o.Find()).Returns(actualMovies);
            var rentalsEngine = new RentalsEngine(movieRepository.Object, null, null);

            //act
            var movies = rentalsEngine.ListMovies();

            //assert
            Assert.IsNotNull(movies, "Return movies collection is null");
            Assert.AreEqual(10, movies.Count);
            CollectionAssert.AreEquivalent(availableMovies, movies, "Returned list of movies are not equivalent to the expected list");
        }
Exemplo n.º 11
0
        public void ListRentalsReturnsAllRentals()
        {
            //arrange
            var availableRental = CreateRentalList();
            var actualRental    = CreateRentalList();

            var rentalRepository = new Mock <IRentalRepository>();

            rentalRepository.Setup(o => o.Find()).Returns(actualRental);
            var rentalsEngine = new RentalsEngine(null, null, rentalRepository.Object);

            //act
            var rental = rentalsEngine.ListRental();

            //assert
            Assert.IsNotNull(rental, "Return Rental collection is null");
            Assert.AreEqual(10, rental.Count);
            CollectionAssert.AreEquivalent(availableRental, rental, "Returned list of Rental are not equivalent to the expected list");
        }
Exemplo n.º 12
0
        public void GetRantalFeeReturnsNonExistantDvdItem()
        {
            //arrange
            const int testDvdItemId  = -1;
            const int testFee        = 0;
            var       actualDvdItems = CreateDvdList();

            var DvdItemRepository = new Mock <IDvdItemRepository>();

            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, null);

            //act
            var returnedRentalFee = movieEngine.GetRentalFee(testDvdItemId);

            //assert
            Assert.IsNotNull(returnedRentalFee, "Returned Rental Fee is null");
            Assert.AreEqual(returnedRentalFee, testFee, "Returned Rental Fee does not Equal actual Rental Fee");
        }
Exemplo n.º 13
0
        public void GetPenaltyFeeReturnsFeeLateTwoDays()
        {
            //arrange
            const int testRentalId     = 3;
            const int testPenaltyFee   = 5000;
            var       actualRentalList = CreateRentalList();

            var RentalRepository = new Mock <IRentalRepository>();

            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            var movieEngine = new RentalsEngine(null, null, RentalRepository.Object);

            //act
            var returnedRentalPenaltyFee = movieEngine.GetPenaltyFee(testRentalId);

            //assert
            Assert.IsNotNull(returnedRentalPenaltyFee, "Returned Penalty Fee is null");
            Assert.AreEqual(testPenaltyFee, returnedRentalPenaltyFee, "Returned Penalty Fee does not Equal actual Rental Fee");
        }
Exemplo n.º 14
0
        public void CheckoutMovieAlreadyRented()
        {
            //arrange
            const int testClientId = 3;
            const int testDvdItemId = 23;
            var actualRentalList = CreateRentalList();
            var actualDvdItemList = CreateDvdItemList();
            var RentalRepository = new Mock<IRentalRepository>();
            var DvdItemRepository = new Mock<IDvdItemRepository>();
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedRentalCheckout = movieEngine.CheckoutRental(testClientId, testDvdItemId);

            //assert
            Assert.IsNotNull(returnedRentalCheckout, "Returned Checkout is null");
            Assert.IsFalse(returnedRentalCheckout, "Returned Checkout is not false");
        }
Exemplo n.º 15
0
        public void SearchMoviesReturnsFullListIfSearchIsEmpty()
        {
            //arrange
            const string testSeachString           = "";
            var          availableSearchableMovies = CreateSearchableMovieList(MovieTitle1, MovieTitle2, MovieTitle3, MovieTitle4, MovieTitle5, MovieTitle6, MovieTitle7, MovieTitle8, MovieTitle9, MovieTitle10);
            var          actualSearchableMovies    = CreateSearchableMovieList(MovieTitle1, MovieTitle2, MovieTitle3, MovieTitle4, MovieTitle5, MovieTitle6, MovieTitle7, MovieTitle8, MovieTitle9, MovieTitle10);

            var searchableMovieRepository = new Mock <IMovieRepository>();

            searchableMovieRepository.Setup(o => o.Find()).Returns(actualSearchableMovies);
            var movieEngine = new RentalsEngine(searchableMovieRepository.Object, null, null);

            //act
            var returnedSearchResultsMovies = movieEngine.SearchMovies(testSeachString);

            //assert
            Assert.IsNotNull(returnedSearchResultsMovies, "Returned movies list is null");
            Assert.AreEqual(10, returnedSearchResultsMovies.Count);
            CollectionAssert.AreEquivalent(availableSearchableMovies, returnedSearchResultsMovies, "Returned list of movies are not equivalent to the expected list");
        }
Exemplo n.º 16
0
        public void IsAvailableReturnsFasleIfNoDvdItemIsAvailableOutOfOneItem()
        {
            //arrange
            const int testMovieId    = 2;
            var       actualDvdItems = CreateDvdList();
            var       actualRentals  = CreateRentalList();

            var DvdItemRepository = new Mock <IDvdItemRepository>();
            var RentalRepository  = new Mock <IRentalRepository>();

            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            RentalRepository.Setup(o => o.Find()).Returns(actualRentals);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedIsAvailableResultDvdItems = movieEngine.IsDvdItemAvailable(testMovieId);

            //assert
            Assert.IsNotNull(returnedIsAvailableResultDvdItems, "Returned DvdItem is null");
            Assert.IsFalse(returnedIsAvailableResultDvdItems, "Returned DvdItem is not false");
        }
Exemplo n.º 17
0
        public void CheckoutMovieAlreadyRented()
        {
            //arrange
            const int testClientId      = 3;
            const int testDvdItemId     = 23;
            var       actualRentalList  = CreateRentalList();
            var       actualDvdItemList = CreateDvdItemList();
            var       RentalRepository  = new Mock <IRentalRepository>();
            var       DvdItemRepository = new Mock <IDvdItemRepository>();

            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedRentalCheckout = movieEngine.CheckoutRental(testClientId, testDvdItemId);

            //assert
            Assert.IsNotNull(returnedRentalCheckout, "Returned Checkout is null");
            Assert.IsFalse(returnedRentalCheckout, "Returned Checkout is not false");
        }
Exemplo n.º 18
0
        public void ReturnRentalReturnsFalseReturnNeverRented()
        {
            //arrange
            const string testSerial         = "45636";
            var          actualRentalList   = CreateRentalList();
            var          actualDvdItemsList = CreateDvdList();

            var RentalRepository  = new Mock <IRentalRepository>();
            var DvdItemRepository = new Mock <IDvdItemRepository>();

            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemsList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var ReturnRentalResponse = movieEngine.ReturnRental(testSerial);

            //assert
            Assert.IsNotNull(ReturnRentalResponse, "Returned ReturnedRental is null");
            Assert.IsFalse(ReturnRentalResponse, "Returned ReturnedRental is not False");
        }
Exemplo n.º 19
0
        public void ReturnRentalReturnsTrue()
        {
            //arrange
            const string testSerial         = "64356";
            var          actualRentalList   = CreateRentalList();
            var          actualDvdItemsList = CreateDvdList();

            var RentalRepository  = new Mock <IRentalRepository>();
            var DvdItemRepository = new Mock <IDvdItemRepository>();

            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemsList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var ReturnRentalResponse = movieEngine.ReturnRental(testSerial);

            //assert
            Assert.IsNotNull(ReturnRentalResponse, "Returned ReturnedRental is null");
            Assert.IsTrue(ReturnRentalResponse, "Returned ReturnedRental is not True");
            RentalRepository.Verify(x => x.Modify(It.Is <Rental>(r => r.clientId == 5)));
        }
Exemplo n.º 20
0
        public void CheckoutMovieNotAlreadyRented()
        {
            //arrange
            const int testClientId = 1;
            const int testDvdItemId = 1;
            var actualRentalList = CreateRentalList();
            var actualDvdItemList = CreateDvdItemList();
            var expectedRental = new Rental { rentalId = 11, dvdItemId = testDvdItemId, clientId = testClientId, rentalDate = new DateTime(2015, 09, 16, 14, 00, 00), expectedReturnDate = new DateTime(2015, 09, 17, 11, 00, 00) };
            var actualRentalReturned = new Rental();

            var RentalRepository = new Mock<IRentalRepository>();
            var DvdItemRepository = new Mock<IDvdItemRepository>();
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedRentalCheckout = movieEngine.CheckoutRental(testClientId, testDvdItemId);

            //assert
            Assert.IsNotNull(returnedRentalCheckout, "Returned Checkout is null");
            Assert.IsTrue(returnedRentalCheckout, "Returned Checkout is not false");
            RentalRepository.Verify(x => x.Add(It.Is<Rental>(r => r.clientId ==1 && r.dvdItemId == 1)));
        }
Exemplo n.º 21
0
        public void ListDvdItemsReturnsAllDvdItems()
        {
            //arrange
            var availableDvdItems = CreateDvdItemList();
            var actualDvdItems = CreateDvdItemList();

            var dvdItemRepository = new Mock<IDvdItemRepository>();
            dvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            var rentalsEngine = new RentalsEngine(null, dvdItemRepository.Object, null);

            //act
            var dvdItems = rentalsEngine.ListDvdItem();

            //assert
            Assert.IsNotNull(dvdItems, "Return DvdItem collection is null");
            Assert.AreEqual(10, dvdItems.Count);
            CollectionAssert.AreEquivalent(availableDvdItems, dvdItems, "Returned list of DvdItem are not equivalent to the expected list");
        }
Exemplo n.º 22
0
        public void ListDvdItemsReturnsEmptyListIfTheAreDvdItemAtAll()
        {
            //arrange
            var dvdItemRepository = new Mock<IDvdItemRepository>();
            dvdItemRepository.Setup(o => o.Find()).Returns(new List<DvdItem>());
            var movieEngine = new RentalsEngine(null, dvdItemRepository.Object, null);

            //act
            var returnedDvdItems = movieEngine.ListDvdItem();

            //assert
            Assert.IsNotNull(returnedDvdItems, "Returned DvdItem list is null");
            Assert.AreEqual(0, returnedDvdItems.Count, "Returned DvdItem has DvdItem items");
        }
Exemplo n.º 23
0
        public void ListMoviesReturnsAllMovies()
        {
            //arrange
            var availableMovies = CreateMovieList();
            var actualMovies = CreateMovieList();

            var movieRepository = new Mock<IMovieRepository>();
            movieRepository.Setup(o => o.Find()).Returns(actualMovies);
            var rentalsEngine = new RentalsEngine(movieRepository.Object, null, null);

            //act
            var movies = rentalsEngine.ListMovies();

            //assert
            Assert.IsNotNull(movies, "Return movies collection is null");
            Assert.AreEqual(10, movies.Count);
            CollectionAssert.AreEquivalent(availableMovies, movies, "Returned list of movies are not equivalent to the expected list");
        }
Exemplo n.º 24
0
        public void ListMoviesReturnsEmptyListIfTheAreNoMoviesAtAll()
        {
            //arrange
            var movieRepository = new Mock<IMovieRepository>();
            movieRepository.Setup(o => o.Find()).Returns(new List<Movie>());
            var movieEngine = new RentalsEngine(movieRepository.Object, null, null);

            //act
            var returnedMovies = movieEngine.ListMovies();

            //assert
            Assert.IsNotNull(returnedMovies, "Returned movies list is null");
            Assert.AreEqual(0, returnedMovies.Count, "Returned movies has movie items");
        }
Exemplo n.º 25
0
        public void SearchMoviesReturnsListOfTwoItemtIfQueryReturnsTwoMatches()
        {
            //arrange
            const string testSeachString = "qwaljknbefec";
            var availableSearchableMovies = CreateSearchableMovieList(MovieTitle1, MovieTitle2);
            var actualSearchableMovies = CreateSearchableMovieList(MovieTitle1, MovieTitle2, MovieTitle3, MovieTitle4, MovieTitle5, MovieTitle6, MovieTitle7, MovieTitle8, MovieTitle9, MovieTitle10);

            var searchableMovieRepository = new Mock<IMovieRepository>();
            searchableMovieRepository.Setup(o => o.Find()).Returns(actualSearchableMovies);
            var movieEngine = new RentalsEngine(searchableMovieRepository.Object, null, null);

            //act
            var returnedSearchResultsMovies = movieEngine.SearchMovies(testSeachString);

            //assert
            Assert.IsNotNull(returnedSearchResultsMovies, "Returned movies list is null");
            Assert.AreEqual(2, returnedSearchResultsMovies.Count);
            CollectionAssert.AreEquivalent(availableSearchableMovies, returnedSearchResultsMovies, "Returned list of movies are not equivalent to the expected list");
        }
Exemplo n.º 26
0
        public void ReturnRentalReturnsTrue()
        {
            //arrange
            const string testSerial = "64356";
            var actualRentalList = CreateRentalList();
            var actualDvdItemsList = CreateDvdList();

            var RentalRepository = new Mock<IRentalRepository>();
            var DvdItemRepository = new Mock<IDvdItemRepository>();
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemsList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var ReturnRentalResponse = movieEngine.ReturnRental(testSerial);

            //assert
            Assert.IsNotNull(ReturnRentalResponse, "Returned ReturnedRental is null");
            Assert.IsTrue(ReturnRentalResponse, "Returned ReturnedRental is not True");
            RentalRepository.Verify(x => x.Modify(It.Is<Rental>(r => r.clientId == 5)));
        }
Exemplo n.º 27
0
        public void SearchMoviesReturnsEmptyListIfQueryReturnsNoMatches()
        {
            //arrange
            const string testSeachString = "pLh";
            var actualSearchableMovies = CreateSearchableMovieList(MovieTitle1, MovieTitle2, MovieTitle3, MovieTitle4, MovieTitle5, MovieTitle6, MovieTitle7, MovieTitle8, MovieTitle9, MovieTitle10);

            var searchableMovieRepository = new Mock<IMovieRepository>();
            searchableMovieRepository.Setup(o => o.Find()).Returns(actualSearchableMovies);
            var movieEngine = new RentalsEngine(searchableMovieRepository.Object, null, null);

            //act
            var returnedSearchResultsMovies = movieEngine.SearchMovies(testSeachString);

            //assert
            Assert.IsNotNull(returnedSearchResultsMovies, "Returned movies list is null");
            Assert.AreEqual(0, returnedSearchResultsMovies.Count);
        }
Exemplo n.º 28
0
        public void IsAvailableReturnsTrueIfOneDvdItemIsAvailableOutOfOne()
        {
            //arrange
            const int testMovieId = 1;
            var actualDvdItems = CreateDvdList();
            var actualRentals = CreateRentalList();

            var DvdItemRepository = new Mock<IDvdItemRepository>();
            var RentalRepository = new Mock<IRentalRepository>();
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            RentalRepository.Setup(o => o.Find()).Returns(actualRentals);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedIsAvailableResultDvdItems = movieEngine.IsDvdItemAvailable(testMovieId);

            //assert
            Assert.IsNotNull(returnedIsAvailableResultDvdItems, "Returned DvdItem is null");
            Assert.IsTrue(returnedIsAvailableResultDvdItems, "Returned DvdItem is not true");
        }
Exemplo n.º 29
0
        public void GetPenaltyFeeReturnsFeeLateOneDay()
        {
            //arrange
            const int testRentalId = 2;
            const int testPenaltyFee = 2500;
            var actualRentalList = CreateRentalList();

            var RentalRepository = new Mock<IRentalRepository>();
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            var movieEngine = new RentalsEngine(null, null, RentalRepository.Object);

            //act
            var returnedRentalPenaltyFee = movieEngine.GetPenaltyFee(testRentalId);

            //assert
            Assert.IsNotNull(returnedRentalPenaltyFee, "Returned Penalty Fee is null");
            Assert.AreEqual(testPenaltyFee, returnedRentalPenaltyFee, "Returned Penalty Fee does not Equal actual Rental Fee");
        }
Exemplo n.º 30
0
        public void IsMovieAvailableReturnsTwoDvdItemThreeAvailableOneRented()
        {
            //arrange
            const int testMovieId = 2;
            var actualDvdItems = CreateDvdListForIsMovieAvailable();
            var actualRentalList = CreateRentalListForIsMovieAvailable();
            var actualMovieList = new List<Movie>();
            var expectedDvdItemList = new List<DvdItem>();
            expectedDvdItemList.Add(new DvdItem { dvdItemId = 2, movieId = 2, media = null, serial = "2", price = 1500 });
            expectedDvdItemList.Add(new DvdItem { dvdItemId = 4, movieId = 2, media = null, serial = "4", price = 1500 });
            var MovieRepository = new Mock<IMovieRepository>();
            var DvdItemRepository = new Mock<IDvdItemRepository>();
            var RentalRepository = new Mock<IRentalRepository>();

            MovieRepository.Setup(o => o.Find()).Returns(actualMovieList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);

            var movieEngine = new RentalsEngine(MovieRepository.Object, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedIsMovieAvailableDvdItems = movieEngine.IsMovieAvailable(testMovieId);

            //assert
            Assert.IsNotNull(returnedIsMovieAvailableDvdItems, "Returned DvdItemList is null");
            Assert.AreEqual(2, returnedIsMovieAvailableDvdItems.Count);
            CollectionAssert.AreEquivalent(expectedDvdItemList, returnedIsMovieAvailableDvdItems, "Returned DvdItem List does not match expected");
        }
Exemplo n.º 31
0
        public void IsMovieAvailableReturnsDvdItemNoneAvailable()
        {
            //arrange
            const int testMovieId = 100;
            var actualDvdItems = CreateDvdList();
            var actualRentalList = CreateRentalList();
            var actualMovieList = CreateMovieList();

            var expectedDvdItemList = new List<DvdItem>();

            var MovieRepository = new Mock<IMovieRepository>();
            var DvdItemRepository = new Mock<IDvdItemRepository>();
            var RentalRepository = new Mock<IRentalRepository>();

            MovieRepository.Setup(o => o.Find()).Returns(actualMovieList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);

            var movieEngine = new RentalsEngine(MovieRepository.Object, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var returnedIsMovieAvailableDvdItems = movieEngine.IsMovieAvailable(testMovieId);

            //assert
            Assert.IsNotNull(returnedIsMovieAvailableDvdItems, "Returned DvdItemList is null");
            Assert.AreEqual(0, returnedIsMovieAvailableDvdItems.Count);
            CollectionAssert.AreEqual(expectedDvdItemList, returnedIsMovieAvailableDvdItems, "Returned DvdItem is not true");
        }
Exemplo n.º 32
0
        public void ReturnRentalReturnsFalseReturnNotRented()
        {
            //arrange
            const string testSerial = "72376";
            var actualRentalList = CreateRentalList();
            var actualDvdItemsList = CreateDvdList();

            var RentalRepository = new Mock<IRentalRepository>();
            var DvdItemRepository = new Mock<IDvdItemRepository>();
            RentalRepository.Setup(o => o.Find()).Returns(actualRentalList);
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItemsList);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, RentalRepository.Object);

            //act
            var ReturnRentalResponse = movieEngine.ReturnRental(testSerial);

            //assert
            Assert.IsNotNull(ReturnRentalResponse, "Returned ReturnedRental is null");
            Assert.IsFalse(ReturnRentalResponse, "Returned ReturnedRental is not False");
        }
Exemplo n.º 33
0
        public void ListRentalsReturnsEmptyListIfTheAreRentalsAtAll()
        {
            //arrange
            var rentalRepository = new Mock<IRentalRepository>();
            rentalRepository.Setup(o => o.Find()).Returns(new List<Rental>());
            var rentalEngine = new RentalsEngine(null, null, rentalRepository.Object);

            //act
            var returnedRentals = rentalEngine.ListRental();

            //assert
            Assert.IsNotNull(returnedRentals, "Returned Rentals list is null");
            Assert.AreEqual(0, returnedRentals.Count, "Returned Rentals has Rentals items");
        }
Exemplo n.º 34
0
        public void ListRentalsReturnsAllRentals()
        {
            //arrange
            var availableRental = CreateRentalList();
            var actualRental = CreateRentalList();

            var rentalRepository = new Mock<IRentalRepository>();
            rentalRepository.Setup(o => o.Find()).Returns(actualRental);
            var rentalsEngine = new RentalsEngine(null, null, rentalRepository.Object);

            //act
            var rental = rentalsEngine.ListRental();

            //assert
            Assert.IsNotNull(rental, "Return Rental collection is null");
            Assert.AreEqual(10, rental.Count);
            CollectionAssert.AreEquivalent(availableRental, rental, "Returned list of Rental are not equivalent to the expected list");
        }
Exemplo n.º 35
0
        public void GetRantalFeeReturnsZeroforZeroRated()
        {
            //arrange
            const int testDvdItemId = 9;
            const int testFee = 0;
            var actualDvdItems = CreateDvdList();

            var DvdItemRepository = new Mock<IDvdItemRepository>();
            DvdItemRepository.Setup(o => o.Find()).Returns(actualDvdItems);
            var movieEngine = new RentalsEngine(null, DvdItemRepository.Object, null);

            //act
            var returnedRentalFee = movieEngine.GetRentalFee(testDvdItemId);

            //assert
            Assert.IsNotNull(returnedRentalFee, "Returned Rental Fee is null");
            Assert.AreEqual(returnedRentalFee, testFee, "Returned Rental Fee does not Equal actual Rental Fee");
        }
Exemplo n.º 36
0
        public void SearchMoviesReturnsListOfOneItemtIfQueryReturnsOneMatch()
        {
            //arrange
            const string testSeachString = "Bcert";
            var availableSearchableMovies = new List<Movie>();
            availableSearchableMovies.Add(new Movie { movieId = 6, title = MovieTitle6, description = null, image = null, stars = null, ageRestriction = null, director = null });

            var actualSearchableMovies = CreateSearchableMovieList(MovieTitle1, MovieTitle2, MovieTitle3, MovieTitle4, MovieTitle5, MovieTitle6, MovieTitle7, MovieTitle8, MovieTitle9, MovieTitle10);

            var searchableMovieRepository = new Mock<IMovieRepository>();
            searchableMovieRepository.Setup(o => o.Find()).Returns(actualSearchableMovies);
            var movieEngine = new RentalsEngine(searchableMovieRepository.Object, null, null);

            //act
            var returnedSearchResultsMovies = movieEngine.SearchMovies(testSeachString);

            //assert
            Assert.IsNotNull(returnedSearchResultsMovies, "Returned movies list is null");
            Assert.AreEqual(1, returnedSearchResultsMovies.Count);
            CollectionAssert.AreEquivalent(availableSearchableMovies, returnedSearchResultsMovies, "Returned list of movies are not equivalent to the expected list");
        }