public void SutPostBooks() { var context = new TestAppContext(new[] { new Sorting<Book> { Column = c => c.Title, Ascending = true } }); var service = new BooksOrderer(context); var controller = new BookController(context, service); IEnumerable<Book> result = controller.Order(new[] { new Book { Title = "Java How to Program", AuthorName = "Deitel & Deitel", EditionYear = 2007 }, new Book { Title = "Patterns of Enterprise Application Architecture", AuthorName = "Martin Fowler", EditionYear = 2002 }, new Book { Title = "Head First Design Patterns", AuthorName = "Elisabeth Freeman", EditionYear = 2004 }, new Book { Title = "Internet & World Wide Web: How to Program", AuthorName = "Deitel & Deitel", EditionYear = 2007 } }); Assert.IsNotNull(result); Assert.AreEqual(4, result.Count()); }
public void SutNotOrderIfSortingIsEmpty() { var context = new TestAppContext(new Sorting<Book>[0]); IBooksOrderer orderer = new BooksOrderer(context); var books = GetBooks(); var result = orderer.Order(books); Assert.IsFalse(result.Any()); }
public void SutNotOrderIfSortingIsNull() { var context = new TestAppContext(null); IBooksOrderer orderer = new BooksOrderer(context); var books = GetBooks(); try { var result = orderer.Order(books); Assert.Fail(); } catch (Exception ex) { Assert.IsInstanceOfType(ex, typeof(OrdenationException)); } }
public void SutOrderByAuthorAscendingAndTitleDescending() { var context = new TestAppContext(new[] { new Sorting<Book> {Column = c => c.AuthorName, Ascending = true}, new Sorting<Book> {Column = c => c.Title, Ascending = false} }); IBooksOrderer orderer = new BooksOrderer(context); var books = GetBooks(); var result = orderer.Order(books); Assert.IsNotNull(result); Assert.AreEqual("Java How to Program", result.ElementAt(0).Title); Assert.AreEqual("Internet & World Wide Web: How to Program", result.ElementAt(1).Title); Assert.AreEqual("Head First Design Patterns", result.ElementAt(2).Title); Assert.AreEqual("Patterns of Enterprise Application Architecture", result.ElementAt(3).Title); }