public void OrdenacaoAutorAscendenteETituloDescendente()
        {
            var settings = new BooksContext();

            settings.BookOrdenation = new List <Sorting>
            {
                new Sorting {
                    ColumnName = "Autor"
                },
                new Sorting {
                    ColumnName = "Titulo", Ascending = false
                }
            };

            var servico = new OrderingService(settings);

            var livrosOrdenados = servico.Order(_books);

            Assert.IsNotNull(livrosOrdenados);

            Assert.AreEqual("Java How to Program", livrosOrdenados.First().Titulo);
            Assert.AreEqual("Internet & World Wide Web: How to Program", livrosOrdenados.ElementAt(1).Titulo);
            Assert.AreEqual("Head First Design Patterns", livrosOrdenados.ElementAt(2).Titulo);
            Assert.AreEqual("Patterns of Enterprise Application Architecture", livrosOrdenados.ElementAt(3).Titulo);
        }
        public void OrdenacaoVazia()
        {
            var settings = new BooksContext();

            settings.BookOrdenation = new List <Sorting> {
                new Sorting()
            };

            var servico = new OrderingService(settings);

            var livrosOrdenados = servico.Order(_books);

            Assert.IsFalse(livrosOrdenados.Any());
        }
        public void OrdenacaoNaoDefinida()
        {
            try
            {
                var settings = new BooksContext();

                var servico = new OrderingService(settings);

                var livrosOrdenados = servico.Order(_books);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOfType(ex, typeof(OrdenationException));
            }
        }