public void GetByFilterWithAllSubItems_ReturnsExpected()
        {
            using (CustomerRepository repository = new CustomerRepository())
            {
                IEnumerable<Customer> customers =
                    repository.GetByFilter(item => item.FirstName == "John", "CustomerSecure", "Orders.OrderDetails");

                Assert.IsNotNull(customers.First());
                Assert.IsNotNull(customers.First().CustomerSecure);
                Assert.IsNotNull(customers.First().Orders);
                Assert.IsNotNull(customers.First().Orders.First());
                Assert.IsNotNull(customers.First().Orders.First().OrderDetails);
            }
        }
        public void GetByFilterWithNullWhereClauseArgument_ThrowsExceptions()
        {
            using (CustomerRepository repository = new CustomerRepository())
            {
                IEnumerable<Customer> customers =
                    repository.GetByFilter(null);

                Assert.Fail("Show have thrown an ArgumentNullException.");
            }
        }
        public void GetByFilterWithNullParamsArgument_ThrowsExceptions()
        {
            using (CustomerRepository repository = new CustomerRepository())
            {
                IEnumerable<Customer> customers =
                    repository.GetByFilter(item => item.FirstName == String.Empty, null);

                Assert.Fail("Show have thrown an ArgumentNullException.");
            }
        }