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

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

            mockProxy.Setup(p => p.GetChangesetsByProjectCollection(It.IsAny<FilterNode>(), It.IsAny<int>()))
                .Returns(changesets)
                .Verifiable();

            var repository = new ChangesetRepository(mockProxy.Object);

            var results = repository.GetAll(new ODataSelectManyQueryOperation());

            Assert.IsTrue(results.SequenceEqual<Changeset>(changesets), "The expected changesets for a collection don't match the results");
        }
        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();
        }
        public void ItShouldGetOneChangeset()
        {
            var mockProxy = new Mock<ITFSChangesetProxy>();

            var expectedResult = new Changeset
            {
                Id = 1,
                Comment = "Checking in one file",
                Owner = @"Domain\User",
                Committer = @"Domain\User",
                CreationDate = DateTime.Now,
                ArtifactUri = "http://sampleuri/",
                Branch = "$/sampleproject/branch",
                Changes = new List<Change>(),
                WorkItems = new List<WorkItem>()
            };

            mockProxy.Setup(p => p.GetChangeset(
                It.Is<int>(i => i == 1)))
                    .Returns(expectedResult)
                    .Verifiable();

            var repository = new ChangesetRepository(mockProxy.Object);

            var result = repository.GetOne("1");

            Assert.AreEqual(result, expectedResult);
            mockProxy.VerifyAll();
        }