Class StructuredQueryEngineTests
Tests for the pure in-memory StructuredQueryEngine — the single semantic reference every backend delegates to: filtering, multi-field directional sorting, distinct-collapsing (including group-key injection resistance), pagination, distinct counting, upsert-comparison strictness, and trim purity.
Inherited Members
Namespace: Serenity.StructuredPersistence.Tests.Infrastructure
Assembly: Tests.dll
Syntax
public class StructuredQueryEngineTests
Constructors
StructuredQueryEngineTests()
Declaration
public StructuredQueryEngineTests()
Methods
ApplyFilters_EqualNull_MatchesOnlyNullOrMissingFields()
Declaration
public void ApplyFilters_EqualNull_MatchesOnlyNullOrMissingFields()
ApplyFilters_Equal_KeepsOnlyExactMatches()
Declaration
public void ApplyFilters_Equal_KeepsOnlyExactMatches()
ApplyFilters_GreaterThanNull_MatchesOnlyNonNullFields()
Declaration
public void ApplyFilters_GreaterThanNull_MatchesOnlyNonNullFields()
ApplyFilters_GreaterThan_IsStrict()
Declaration
public void ApplyFilters_GreaterThan_IsStrict()
ApplyFilters_LessThanConcreteValue_IncludesNullValuedFields()
Declaration
public void ApplyFilters_LessThanConcreteValue_IncludesNullValuedFields()
ApplyFilters_LessThanNull_MatchesNothing()
Declaration
public void ApplyFilters_LessThanNull_MatchesNothing()
ApplyFilters_LessThan_IsStrict()
Declaration
public void ApplyFilters_LessThan_IsStrict()
ApplyFilters_MultipleFilters_AreAnded()
Declaration
public void ApplyFilters_MultipleFilters_AreAnded()
ApplyOffsetLimit_NegativeLimit_ClampsToEmpty()
Declaration
public void ApplyOffsetLimit_NegativeLimit_ClampsToEmpty()
ApplyOffsetLimit_NullLimit_ReturnsEverythingAfterOffset()
Declaration
public void ApplyOffsetLimit_NullLimit_ReturnsEverythingAfterOffset()
ApplyOffsetLimit_OffsetAndLimit_Paginate()
Declaration
public void ApplyOffsetLimit_OffsetAndLimit_Paginate()
CollapseDistinct_KeepsFirstRecordPerGroupUnderOrdering()
Declaration
public void CollapseDistinct_KeepsFirstRecordPerGroupUnderOrdering()
CollapseDistinct_MultiFieldGroupWithColonAndLengthLookalikes_KeepsDistinctGroupsDistinct()
Declaration
public void CollapseDistinct_MultiFieldGroupWithColonAndLengthLookalikes_KeepsDistinctGroupsDistinct()
CollapseDistinct_MultiFieldGroupWithDelimiterCharactersInValues_KeepsDistinctGroupsDistinct()
Declaration
public void CollapseDistinct_MultiFieldGroupWithDelimiterCharactersInValues_KeepsDistinctGroupsDistinct()
Count_DistinctBy_CountsDistinctGroupsNotRawRecords()
Declaration
public void Count_DistinctBy_CountsDistinctGroupsNotRawRecords()
Count_MultiFieldDistinctWithDelimiterCharactersInValues_CountsDistinctGroupsSeparately()
Declaration
public void Count_MultiFieldDistinctWithDelimiterCharactersInValues_CountsDistinctGroupsSeparately()
Count_WithFiltersAndNoDistinct_CountsRawMatches()
Declaration
public void Count_WithFiltersAndNoDistinct_CountsRawMatches()
IsBetter_Ascending_LowerIsBetter()
Declaration
public void IsBetter_Ascending_LowerIsBetter()
IsBetter_ConcreteCandidateAgainstNullCurrent_WinsDescendingLosesAscending()
Declaration
public void IsBetter_ConcreteCandidateAgainstNullCurrent_WinsDescendingLosesAscending()
IsBetter_Descending_HigherIsBetter()
Declaration
public void IsBetter_Descending_HigherIsBetter()
IsBetter_EqualValue_IsNotBetterInEitherDirection()
Declaration
public void IsBetter_EqualValue_IsNotBetterInEitherDirection()
IsBetter_NullAgainstNull_IsNotBetterInEitherDirection()
Declaration
public void IsBetter_NullAgainstNull_IsNotBetterInEitherDirection()
IsBetter_NullCandidateAgainstConcreteCurrent_WinsAscendingLosesDescending()
Declaration
public void IsBetter_NullCandidateAgainstConcreteCurrent_WinsAscendingLosesDescending()
Sort_AscendingScore_ReversesPrimaryFieldOnly()
Declaration
public void Sort_AscendingScore_ReversesPrimaryFieldOnly()
Sort_MultiField_AppliesEachFieldsOwnDirection()
Declaration
public void Sort_MultiField_AppliesEachFieldsOwnDirection()
TrimBeyond_IsPure_InputListIsNeverMutated()
Declaration
public void TrimBeyond_IsPure_InputListIsNeverMutated()
TrimBeyond_KeepsBestWithinScopeAndPreservesOutOfScopeRecords()
Declaration
public void TrimBeyond_KeepsBestWithinScopeAndPreservesOutOfScopeRecords()
TrimBeyond_NonPositiveKeepCount_ReturnsACopyNotTheInputInstance()
Declaration
public void TrimBeyond_NonPositiveKeepCount_ReturnsACopyNotTheInputInstance()
TrimBeyond_UnderKeepCount_ReturnsACopyNotTheInputInstance()
Declaration
public void TrimBeyond_UnderKeepCount_ReturnsACopyNotTheInputInstance()