public void ItShouldGetAllChangesetsForAGivenProject()
        {
            var mockProxy = new Mock<ITFSChangesetProxy>();
            var changesets = new List<Changeset>();

            changesets.Add(new Changeset { Id = 1, Comment = "Checking in one file" });
            changesets.Add(new Changeset { Id = 2, Comment = "Merging a branch" });

            mockProxy.Setup(p => p.GetChangesetsByProject(It.Is<string>(s => s.Equals("Sample Project")), It.IsAny<FilterNode>(), It.IsAny<int>()))
                 .Returns(changesets)
                 .Verifiable();

            var repository = new ChangesetRepository(mockProxy.Object);
            var operation = new ODataSelectManyQueryOperation();
            operation.Keys = new Dictionary<string, string>();
            operation.Keys.Add("Project", "Sample Project");
            var results = repository.GetChangesetsByProject(operation);

            Assert.IsTrue(results.SequenceEqual<Changeset>(changesets), "The expected changesets for a project don't match the results");
            mockProxy.VerifyAll();
        }