logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    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.

    Inheritance
    object
    StructuredQueryEngineTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    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()
    In this article
    © 2026 Serenity. All Rights Reserved