public void should_search_by_name_and_publish_info()
        {
            var repository = CreateRepository();
            var publishInfoCondition = new PublishInfoCondition(
                new PublishDateCondition(
                    new DateTime(2012, 11, 1),
                    new DateTime(2012, 12, 31)),
                new EditionCondition(1));
            var nameCondition = new BookNameCondition("PowerShell");
            List<Book> result = repository.Find(nameCondition, publishInfoCondition);

            AssertSearchResult(new[] { "978-1617291081" }, result);
        }
 public void should_return_false_if_no_substring_matched()
 {
     var condition = new BookNameCondition("XXX");
     Assert.False(condition.IsMatch(SampleBook));
 }
 public void should_match_random_position()
 {
     var condition = new BookNameCondition("via");
     Assert.True(condition.IsMatch(SampleBook));
 }
 public void should_match_case_ignored()
 {
     var condition = new BookNameCondition("ViA");
     Assert.True(condition.IsMatch(SampleBook));
 }
 public void should_match_all_if_condition_is_empty()
 {
     var condition = new BookNameCondition(null);
     Assert.True(condition.IsMatch(SampleBook));
 }