Namespace Serenity.UnityWave.Tests.Infrastructure
Classes
UnityWaveServiceRefusalReportTests
PlayMode tests for what UnityWaveService tells the author when an entry cannot spawn: one cause, one line, at the level it deserves. A refusal the character pool already reported is not repeated by the wave, a cause only the wave knows is written as at most one warning per cause per entry, and nothing about a forfeited actor is ever an error.
UnityWaveServiceSpawnTests
PlayMode tests for what UnityWaveService spawns: each entry spawns the registered character it names — by Id, or in the editor by its actor prefab — through the real character pool, at the entry's authored cadence; and an entry that cannot spawn forfeits its actors so its wave still clears.
UnityWaveServiceTests
PlayMode tests for UnityWaveService. Lifecycle tests configure waves via ConfigureWaves(WaveConfig[]) (no SOs) so wave advancement does not start spawn coroutines.
UnityWaveServiceWaveChainTests
PlayMode tests for consecutive waves: the first is cleared by recording the removal of every actor it spawned, and the second must then spawn its own actors and keep them. Reproduces the audit's report that the second wave's spawn did not always happen, both with every removal recorded in one synchronous batch and with the removals spread across frames; pins that an entry which cannot spawn never holds its wave open, and that a removal named by actor only ever counts against the wave that spawned that actor.
UnityWaveSettingsTests
PlayMode tests for the Wave ScriptableObject authoring assets: UnityWaveConfigSO and UnityWaveSetSO, and the UnitySpawnEntry DTO. Serialized lists are private; freshly created instances expose their documented defaults (empty collections, zero index).