logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Shared.Tests.Utils

    Classes

    DisplayValueTests

    FileUtilsTests

    LocalePreviewMatcherTests

    NumberUtilsTests

    ObjectUtilsTests

    ObjectUtilsTests.TestAbstractImpl

    ObjectUtilsTests.TestBase

    ObjectUtilsTests.TestDerived1

    ObjectUtilsTests.TestDerived2

    ObjectUtilsTests.TestImpl1

    ObjectUtilsTests.TestImpl2

    ObjectUtilsTypeResolutionTests

    Tests for GetTypeFromCurrentDomainAssemblies(string).
    The lookup used to scan every assembly — materializing every type, twice — on each call that missed the Type.GetType fast path, which measured at seconds per call and froze the editor on every keystroke of a partial type name. It now answers from a lazily built index. These tests pin the resolution semantics the index must reproduce exactly; the speed itself was verified by measurement.

    ParseUtilsTests

    ParseUtilsTypeTests

    SafeCollectionUtilsTests

    SignalCategoryFilteringTests

    Tests for SignalCategoryFiltering, extracted from Serenity.EventDispatcher.Infrastructure.Editor.SerenitySignalFlowBrowserWindow's search box and category chip row, which previously had no coverage at all.

    StringUtilsTests

    ValueDisplayFormatterTests

    Tests for ValueDisplayFormatter. Pure formatting logic, so every case runs without an editor/player context.
    Rounding-boundary cases deliberately use values whose fractional part is exactly representable in binary (e.g. 0.5, 12.25, 12.125) rather than decimal-looking values like 0.995 -- those are NOT exact as doubles, so asserting a specific rounded result for them would be testing floating-point representation quirks instead of the formatter's rounding rule.

    Interfaces

    ObjectUtilsTests.ITestInterface

    In this article
    © 2026 Serenity. All Rights Reserved