Example #1
0
        public void Get_All_Returns_All_Books()
        {
            // Arrange
            LibraryContextMock   mockContext = new LibraryContextMock();
            FilledBookRepository repo        = new FilledBookRepository(mockContext);
            Book book1 = new Book {
                id = 0, title = "Tennis", isbn = "11111", author = "Andy Murray", publishDate = "01/01/2001"
            };
            Book book2 = new Book {
                id = 1, title = "All about tennis", isbn = "22222", author = "Tim Henman", publishDate = "02/02/2002"
            };
            Book book3 = new Book {
                id = 2, title = "Yeah tennis", isbn = "33333", author = "Boris Becker", publishDate = "03/03/2003"
            };
            Book newBook1 = new Book()
            {
                title = "Test1"
            };
            Book newBook2 = new Book()
            {
                title = "Test2"
            };

            repo.Add(newBook1);
            repo.Add(newBook2);

            // Act
            IEnumerable <Book> books = repo.GetAll();

            // Asert
            Assert.Equal(new Book[] { book1, book2, book3, newBook1, newBook2 }, books.ToArray());
        }
        public void Get_All_Returns_All_Reservations()
        {
            // Arrange
            LibraryContextMock    mockContext = new LibraryContextMock();
            ReservationRepository repo        = new ReservationRepository(mockContext);
            BookRepository        bookRepo    = new BookRepository(mockContext);
            Book newBook = new Book()
            {
                title       = "New title",
                author      = "New author",
                isbn        = "22222",
                publishDate = "2001"
            };
            Reservation newReservation1 = new Reservation()
            {
                book = newBook
            };
            Reservation newReservation2 = new Reservation()
            {
                book = newBook
            };

            bookRepo.Add(newBook);
            repo.Add(newReservation1);
            repo.Add(newReservation2);

            // Act
            IEnumerable <Reservation> Reservations = repo.GetAll();

            // Asert
            Assert.Equal(new Reservation[] { newReservation1, newReservation2 }, Reservations.ToArray());
        }
        public void Put_Doesnt_Update_If_Times_Clash()
        {
            // Arrange
            LibraryContextMock    mockContext = new LibraryContextMock();
            ReservationRepository repo        = new ReservationRepository(mockContext);
            BookRepository        bookRepo    = new BookRepository(mockContext);
            Book newBook = new Book()
            {
                title       = "New title",
                author      = "New author",
                isbn        = "22222",
                publishDate = "2001"
            };
            Reservation Reservation1 = new Reservation()
            {
                book      = newBook,
                startDate = new System.DateTime(2016, 1, 1, 1, 0, 0),
                endDate   = new System.DateTime(2016, 1, 1, 2, 0, 0),
            };
            Reservation Reservation2 = new Reservation()
            {
                book      = newBook,
                startDate = new System.DateTime(2016, 1, 1, 1, 30, 0),
                endDate   = new System.DateTime(2016, 1, 1, 2, 30, 0),
            };

            bookRepo.Add(newBook);
            repo.Add(Reservation1);

            Assert.Throws <InvalidOperationException>(() => repo.Update(Reservation2, 0));
            IEnumerable <Reservation> Reservations = repo.GetAll();

            Assert.Equal(new Reservation[] { Reservation1 }, Reservations.ToArray());
        }
        public void Get_Returns_Specific_Reservation()
        {
            // Arrange
            LibraryContextMock    mockContext = new LibraryContextMock();
            ReservationRepository repo        = new ReservationRepository(mockContext);
            BookRepository        bookRepo    = new BookRepository(mockContext);
            Book newBook = new Book()
            {
                title       = "New title",
                author      = "New author",
                isbn        = "22222",
                publishDate = "2001"
            };
            Reservation newReservation1 = new Reservation()
            {
                id = 0, book = newBook
            };
            Reservation newReservation2 = new Reservation()
            {
                id = 1, book = newBook
            };

            bookRepo.Add(newBook);
            repo.Add(newReservation1);
            repo.Add(newReservation2);

            // Act
            Reservation Reservation = repo.Get(1);

            // Asert
            Assert.Equal(newReservation2, Reservation);
        }
Example #5
0
        public void Delete_Removes_Correct_Book()
        {
            // Arrange
            LibraryContextMock mockContext = new LibraryContextMock();
            BookRepository     repo        = new BookRepository(mockContext);
            Book newBook1 = new Book()
            {
                id = 0, title = "Test1"
            };
            Book newBook2 = new Book()
            {
                id = 1, title = "Test2"
            };
            Book newBook3 = new Book()
            {
                id = 2, title = "Test3"
            };

            repo.Add(newBook1);
            repo.Add(newBook2);
            repo.Add(newBook3);

            // Act
            repo.Remove(1);
            IEnumerable <Book> books = repo.GetAll();

            // Asert
            Assert.Equal(new Book[] { newBook1, newBook3 }, books.ToArray());
        }
Example #6
0
        public void Update_updates_Correct_Book()
        {
            // Arrange
            LibraryContextMock mockContext = new LibraryContextMock();
            BookRepository     repo        = new BookRepository(mockContext);
            Book newBook = new Book()
            {
                title       = "New title",
                author      = "New author",
                isbn        = "22222",
                publishDate = "2001"
            };
            Book oldBook = new Book()
            {
                title       = "Old title",
                author      = "Old author",
                isbn        = "11111",
                publishDate = "2000"
            };

            repo.Add(oldBook);

            // Act
            repo.Update(newBook, 0);
            IEnumerable <Book> books = repo.GetAll();

            // Asert
            Assert.Equal(new Book[] { newBook }, books.ToArray());
        }
        public void New_Reservation_Repository_Is_Empty()
        {
            // Arrange
            LibraryContextMock    mockContext = new LibraryContextMock();
            ReservationRepository repo        = new ReservationRepository(mockContext);

            // Act
            IEnumerable <Reservation> Reservations = repo.GetAll();

            // Asert
            Assert.Empty(Reservations);
        }
Example #8
0
        public void New_Book_Repository_Is_Empty()
        {
            // Arrange
            LibraryContextMock mockContext = new LibraryContextMock();
            BookRepository     repo        = new BookRepository(mockContext);

            // Act
            IEnumerable <Book> books = repo.GetAll();

            // Asert
            Assert.Empty(books);
        }
Example #9
0
        public void Add_Inserts_New_Book()
        {
            // Arrange
            LibraryContextMock   mockContext = new LibraryContextMock();
            FilledBookRepository repo        = new FilledBookRepository(mockContext);
            Book newBook = new Book()
            {
                title = "Test"
            };

            // Act
            repo.Add(newBook);
            IEnumerable <Book> books = repo.GetAll();

            // Asert
            Assert.Equal(books.Count(), 4);
        }
Example #10
0
        public void Update_updates_Correct_Book()
        {
            // Arrange
            LibraryContextMock   mockContext = new LibraryContextMock();
            FilledBookRepository repo        = new FilledBookRepository(mockContext);
            Book book1 = new Book {
                id = 0, title = "Tennis", isbn = "11111", author = "Andy Murray", publishDate = "01/01/2001"
            };
            Book book2 = new Book {
                id = 1, title = "All about tennis", isbn = "22222", author = "Tim Henman", publishDate = "02/02/2002"
            };
            Book book3 = new Book {
                id = 2, title = "Yeah tennis", isbn = "33333", author = "Boris Becker", publishDate = "03/03/2003"
            };
            Book newBook = new Book()
            {
                id          = 3,
                title       = "New title",
                author      = "New author",
                isbn        = "22222",
                publishDate = "2001"
            };
            Book oldBook = new Book()
            {
                id          = 3,
                title       = "Old title",
                author      = "Old author",
                isbn        = "11111",
                publishDate = "2000"
            };

            repo.Add(oldBook);

            // Act
            repo.Update(newBook, 3);
            IEnumerable <Book> books = repo.GetAll();

            // Asert
            Assert.Equal(new Book[] { book1, book2, book3, newBook }, books.ToArray());
        }
        public void Delete_Removes_Correct_Reservation()
        {
            // Arrange
            LibraryContextMock    mockContext = new LibraryContextMock();
            ReservationRepository repo        = new ReservationRepository(mockContext);
            BookRepository        bookRepo    = new BookRepository(mockContext);
            Book newBook = new Book()
            {
                title       = "New title",
                author      = "New author",
                isbn        = "22222",
                publishDate = "2001"
            };
            Reservation newReservation1 = new Reservation()
            {
                id = 0, book = newBook
            };
            Reservation newReservation2 = new Reservation()
            {
                id = 1, book = newBook
            };
            Reservation newReservation3 = new Reservation()
            {
                id = 2, book = newBook
            };

            bookRepo.Add(newBook);
            repo.Add(newReservation1);
            repo.Add(newReservation2);
            repo.Add(newReservation3);

            // Act
            repo.Remove(1);
            IEnumerable <Reservation> Reservations = repo.GetAll();

            // Asert
            Assert.Equal(new Reservation[] { newReservation1, newReservation3 }, Reservations.ToArray());
        }
Example #12
0
        public void Get_Returns_Specific_Book()
        {
            // Arrange
            LibraryContextMock   mockContext = new LibraryContextMock();
            FilledBookRepository repo        = new FilledBookRepository(mockContext);
            Book newBook1 = new Book()
            {
                id = 0, title = "Test1"
            };
            Book newBook2 = new Book()
            {
                id = 1, title = "Test2"
            };

            repo.Add(newBook1);
            repo.Add(newBook2);

            // Act
            Book book = repo.Get(1);

            // Asert
            Assert.Equal(newBook2, book);
        }
Example #13
0
        public void Get_All_Returns_All_Books()
        {
            // Arrange
            LibraryContextMock mockContext = new LibraryContextMock();
            BookRepository     repo        = new BookRepository(mockContext);;
            Book newBook1 = new Book()
            {
                title = "Test1"
            };
            Book newBook2 = new Book()
            {
                title = "Test2"
            };

            repo.Add(newBook1);
            repo.Add(newBook2);

            // Act
            IEnumerable <Book> books = repo.GetAll();

            // Asert
            Assert.Equal(new Book[] { newBook1, newBook2 }, books.ToArray());
        }
        public void Update_updates_Correct_Reservation()
        {
            // Arrange
            LibraryContextMock    mockContext = new LibraryContextMock();
            ReservationRepository repo        = new ReservationRepository(mockContext);
            BookRepository        bookRepo    = new BookRepository(mockContext);
            Book newBook = new Book()
            {
                title       = "New title",
                author      = "New author",
                isbn        = "22222",
                publishDate = "2001"
            };
            Reservation oldReservation = new Reservation()
            {
                book      = newBook,
                startDate = new System.DateTime(2016, 1, 1, 1, 0, 0),
                endDate   = new System.DateTime(2016, 1, 1, 2, 0, 0),
            };
            Reservation newReservation = new Reservation()
            {
                book      = newBook,
                startDate = new System.DateTime(2016, 1, 1, 3, 0, 0),
                endDate   = new System.DateTime(2016, 1, 1, 4, 0, 0),
            };

            bookRepo.Add(newBook);
            repo.Add(oldReservation);

            // Act
            repo.Update(newReservation, 0);
            IEnumerable <Reservation> Reservations = repo.GetAll();

            // Asert
            Assert.Equal(new Reservation[] { newReservation }, Reservations.ToArray());
        }