logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.AudioPlayer.Tests.Domain

    Classes

    AudioPlaybackCandidateTests

    Tests for the Serenity.AudioPlayer.Domain.Types.AudioPlaybackCandidate value type — the pure, Unity-agnostic snapshot of a playing slot consumed by the priority selector. Guards that the constructor stores every field verbatim, since the selector relies on those values to make its decision.

    AudioPlayerClipAttributeTests

    Guards the editor binding contract: Serenity.AudioPlayer.Domain.Entities.AudioPlayerClip's filePath constructor parameter must be annotated so the signal-definition Inspector renders an AudioClip drag field for it (the Domain stays Unity-free — the attribute only names the asset type as a string).

    AudioPlayerClipTests

    Tests for the AudioPlayerClip entity.

    AudioPlayerEmitterTests

    Tests for the AudioPlayerEmitter entity.

    AudioPlayerEnumsTests

    Guards the numeric contracts of the AudioPlayer domain enums. Several of these values are load-bearing: Serenity.AudioPlayer.Domain.Types.AudioPriorityPolicy.IgnoreIfNoSourceAvailable must be 0 so it is the default for freshly deserialized clips, and Serenity.AudioPlayer.Domain.Types.AudioRolloffMode values must mirror UnityEngine.AudioRolloffMode so the Unity layer can map between them by value.

    AudioPlayerGroupTests

    Tests for the AudioPlayerGroup entity.

    AudioPriorityCandidateSelectorBehaviorTests

    Additional behavioral scenarios for Serenity.AudioPlayer.Domain.Services.AudioPriorityCandidateSelector that complement the core rule tests: stability of tie-breaking, cross-policy boundary checks, and mixed replaceable/eligible populations.

    AudioPriorityCandidateSelectorTests

    Tests for Serenity.AudioPlayer.Domain.Services.AudioPriorityCandidateSelector — the pure replacement-decision logic used by the audio player when the AudioSource pool is full.
    These cover the runtime scenarios from the priority allocation design without needing the Unity runtime: which (if any) currently playing slot should be reassigned to a new sound.

    AudioWorldPositionBehaviorTests

    Additional behavioral coverage for Serenity.AudioPlayer.Domain.ValueObjects.AudioWorldPosition: object-equality through boxing, hashing parity vs. the backing vector, operator symmetry, and a culture-agnostic check of the F2-formatted Serenity.AudioPlayer.Domain.ValueObjects.AudioWorldPosition.ToString output.

    AudioWorldPositionTests

    Tests for the Serenity.AudioPlayer.Domain.ValueObjects.AudioWorldPosition value object.

    In this article
    © 2026 Serenity. All Rights Reserved