public void ItShouldGetOneBuildDefinition()
        {
            var mockProxy = new Mock<ITFSBuildDefinitionProxy>();
            var buildDefinitions = new List<BuildDefinition>();

            buildDefinitions.Add(new BuildDefinition { Definition = "Full Build", Project = "SampleProject" });
            buildDefinitions.Add(new BuildDefinition { Definition = "Custom Build", Project = "SampleProject" });

            mockProxy.Setup(b => b.GetBuildDefinitionsByProject(It.Is<string>(s => s == "SampleProject")))
                 .Returns(buildDefinitions)
                 .Verifiable();

            var repository = new BuildDefinitionRepository(mockProxy.Object);

            var buildDefinition = repository.GetOne("Full Build", "SampleProject");

            Assert.IsNotNull(buildDefinition);
            Assert.AreEqual(buildDefinition.Definition, "Full Build");
            Assert.AreEqual(buildDefinition.Project, "SampleProject");
            mockProxy.VerifyAll();
        }
        public void ItShouldGetAllBuildDefinitionsForAGivenProject()
        {
            var mockProxy = new Mock<ITFSBuildDefinitionProxy>();
            var buildDefinitions = new List<BuildDefinition>();

            buildDefinitions.Add(new BuildDefinition { Definition = "Full Build", Project = "SampleProject" });
            buildDefinitions.Add(new BuildDefinition { Definition = "Custom Build", Project = "SampleProject" });

            mockProxy.Setup(b => b.GetBuildDefinitionsByProject(It.Is<string>(s => s == "SampleProject")))
                 .Returns(buildDefinitions)
                 .Verifiable();

            var repository = new BuildDefinitionRepository(mockProxy.Object);

            var parameters = new ODataSelectManyQueryOperation();
            parameters.FilterExpression = null;
            parameters.Keys = new Dictionary<string, string>();
            parameters.Keys.Add("Project", "SampleProject");

            var results = repository.GetBuildDefinitionsByProject(parameters);

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