public void QueryRunnerShouldCallToReplaceMacrosBeforeRunningQueries()
        {
            //Maybe is a smeel you can really assert that the code is using the right version of the query?
            var tfsContextMock = A.Fake<ITfsContext>(o => o.Wrapping(tfsContext));
            var macroParserMock = A.Fake<IQueryMacroParser>();

            var resultQuery = new ShimQueryDefinition();

            resultQuery.QueryTextGet = () => "SELECT System.ID, System.Title from workitems WHERE Project = \"TestProject\"";

            A.CallTo(() => macroParserMock.Replace(A<QueryDefinition>.Ignored))
             .Returns(resultQuery);

            var query = "SELECT System.ID, System.Title from workitems WHERE Project = @Project";
            var queryRunner = new QueryRunner(tfsContextMock, macroParserMock);

            var queryWithMacros = new ShimQueryDefinition();

            queryWithMacros.QueryTextGet = () => query;

            IEnumerable<WorkItem> workItems = queryRunner.RunQuery(queryDefinition);

            A.CallTo(() => macroParserMock.Replace(A<QueryDefinition>.Ignored)).MustHaveHappened();
            A.CallTo(() => tfsContextMock.CurrentWorkItemStore).MustHaveHappened();

            Assert.IsTrue(workItems.Where(w => w.Title == "Linked Work Item").Any());
        }
        public void QueryRunFromQueryDefinitonShouldCallContext()
        {
            var tfsContextMock = A.Fake<ITfsContext>(x => x.Wrapping(tfsContext));
            var queryRunner = new QueryRunner(tfsContextMock, queryMacroParser);

            //ShimQuery.AllInstances.IsLinkQueryGet = (q) => true;

            queryRunner.RunQuery(this.queryDefinition);

            A.CallTo(() => tfsContextMock.CurrentWorkItemStore).MustHaveHappened();
        }
        public void QueryRunShouldRunStandardQueries()
        {
            var tfsContextMock = A.Fake<ITfsContext>(o => o.Wrapping(tfsContext));

            var queryRunner = new QueryRunner(tfsContextMock, queryMacroParser);

            IEnumerable<WorkItem> workItems = queryRunner.RunQuery(queryDefinition);

            A.CallTo(() => tfsContextMock.CurrentWorkItemStore).MustHaveHappened();

            Assert.IsTrue(workItems.Where(w => w.Title == "Linked Work Item").Any());
        }