public void TestQueryParsing() { IQueryValidator queryValidator = MockRepository.GenerateStub<IQueryValidator>(); IDirectoryInfoProcessor directoryInfoProcessor = MockRepository.GenerateStub<IDirectoryInfoProcessor>(); string testQueryString = "check keyValue:\"someKey\" paths:\"web.config\" expected:\"someValue\""; queryValidator.Stub(x => x.ValidateQuerySyntax(Arg<string[]>.Is.Anything)) .Return(new OperationResult(successful: true)); queryValidator.Stub(x => x.ValidateQuerySyntax(Arg<string>.Is.Anything)) .Return(new OperationResult(successful: true)); directoryInfoProcessor.Stub(x => x.GetQueryPathes(Arg<string[]>.Is.Anything)) .Return(new List<string>() { "web.config" }); QueryParser parser = new QueryParser(queryValidator, directoryInfoProcessor); Query query = parser.ParseQuery(testQueryString); Assert.AreEqual(ECommand.check, query.Command); Assert.AreEqual(new List<string>() { "web.config" }, query.Paths); Assert.AreEqual("someKey", query.KeyValue); Assert.AreEqual("someValue", query.Expected); }
public void TestValidationCalling() { IQueryValidator queryValidator = MockRepository.GenerateStub<IQueryValidator>(); IDirectoryInfoProcessor directoryInfoProcessor = MockRepository.GenerateStub<IDirectoryInfoProcessor>(); string query = "check keyValue:\"myKey\" expected:\"myValue\""; queryValidator.Stub(x => x.ValidateQuerySyntax(Arg<string[]>.Is.Anything)) .Return(new OperationResult(successful: true)); queryValidator.Stub(x => x.ValidateQuerySyntax(Arg<string>.Is.Anything)) .Return(new OperationResult(successful: true)); directoryInfoProcessor.Stub(x => x.GetQueryPathes(Arg<string[]>.Is.Anything)) .Return(new List<string>()); QueryParser parser = new QueryParser(queryValidator, directoryInfoProcessor); parser.ParseQuery(query); queryValidator.AssertWasCalled(x => x.ValidateQuerySyntax(query)); }