public void Get_should_get_changesets_properly_only_with_branchName()
        {
            var changesetFilter = new ChangesetFilter();
              changesetFilter.BranchNames.Add(Branch1);

              IEnumerable<Changeset> changesets = _changesetQuery.Get(changesetFilter);

              Assert.NotNull(changesets);

              Assert.AreEqual(4, changesets.Count());
        }
        public void Get_should_get_changesets_properly_combined()
        {
            var changesetFilter = new ChangesetFilter { TimestampTo = new DateTime(2013, 3, 1) };
              changesetFilter.Usernames.Add(UserName1);
              changesetFilter.Usernames.Add(UserName2);
              changesetFilter.RepositoryNames.Add(Repo2);
              changesetFilter.BranchNames.Add(Branch2);

              IEnumerable<Changeset> changesets = _changesetQuery.Get(changesetFilter);

              Assert.NotNull(changesets);

              Assert.AreEqual(1, changesets.Count());
        }
        public IEnumerable<Changeset> Get(ChangesetFilter filter)
        {
            if (filter == null)
              {
            throw new ArgumentNullException("filter");
              }

              using (var db = _dbConnectionFactory.OpenDbConnection())
              {
            var predicate = _predicateComposer.Compose(filter);

            bool hasNoFilter = predicate.Body.ToString().Equals("True");

            IEnumerable<Changeset> changesets = hasNoFilter
                                              ? db.Select<Changeset>()
                                              : db.Select<Changeset>(predicate);

            return changesets;
              }
        }
        public void Get_should_get_changesets_properly_only_with_timestampTo()
        {
            var changesetFilter = new ChangesetFilter { TimestampTo = new DateTime(2013, 2, 1) };

              IEnumerable<Changeset> changesets = _changesetQuery.Get(changesetFilter);

              Assert.NotNull(changesets);

              Assert.AreEqual(4, changesets.Count());
        }