public DistinctShould() { var(q, v, c) = Builder.InitializeBasicItemsForQueryData("some field"); _query = q; _validColumns = v; _clauseFactory = c; }
private WhenSenderAndProjectCompanyMatched(ParseNode clauseNode, IStorageRepository storage, UserRepository userRepository) { _projectId = Int32.Parse(ClauseFactory.FindRecursive(TokenType.NUMBER, clauseNode).Token.Text); _storage = storage; _userRepository = userRepository; }
public QueryData(Query query, IValidColumns validColumns, ClauseFactory clauseFactory, string tableName) { _clauseFactory = clauseFactory; _query = query; _validColumns = validColumns; TableName = tableName; }
protected ThenClause(ParseNode clauseNode, ITpBus bus, IStorageRepository storage) { _bus = bus; _storage = storage; var projectIdNode = ClauseFactory.FindRecursive(TokenType.NUMBER, clauseNode); _projectId = Int32.Parse(projectIdNode.Token.Text); }
public void BuildCorrectSingleClause(string expectedClause, Filter filter) { var clauses = new ClauseFactory(_fakeValidColumns).Build(filter); // ReSharper disable once PossibleMultipleEnumeration Assert.Single(clauses); // ReSharper disable once PossibleMultipleEnumeration Assert.Equal(expectedClause, clauses.First().ToString()); }
public void BuildCorrectMultipleClause(IEnumerable <Clause> expectedClauses, Filter filter) { var clauses = new ClauseFactory(_fakeValidColumns).Build(filter); var expectedClausesHash = new HashSet <string>(expectedClauses.Select(c => c.ToString())); expectedClausesHash.ExceptWith(clauses.Select(c => c.ToString())); Assert.Empty(expectedClausesHash); }
public void ThrowExceptionIfFiltersContainsValuesAndIncludeNullsIsFalse() { var filter = new Filter { Property = "MyProperty", includeNulls = false, Values = new object[] { 1, "one", .1 } }; var sut = new ClauseFactory(_fakeValidColumns); var ex = Assert.Throws <ArgumentException>(() => sut.Build(filter)); Assert.Equal("When providing values in a filter, you cannot also set include nulls to false. This negates the filter entirely.", ex.Message); }
public static IWhenClause Create(ParseNode clauseNode) { var clauseParameter = ClauseFactory.FindRecursive(TokenType.STRING_PARAM, clauseNode).Token.Text.Trim('\''); return(new WhenSubjectContainsClause(clauseParameter)); }