Namespace Serenity.Audio.SoundMixerSettings.Tests.Editor
Classes
CreateSoundMixerSettingsWindowDoneStepTests
A successful Create or Update must always leave this wizard on its Done step, latched terminal, with a
truthful result — never parked on Summary re-validating the very write it just made. Drives the real
creation flow (Serenity.SoundMixer.Installation.Settings.Editor.Builder.CreateSoundMixerSettingsWindow.CreateForTests(Serenity.SoundMixer.Installation.Settings.Editor.Builder.SoundMixerSettingsCreator.Input), the same private
RunCreate the primary button calls) so a regression here is caught by this suite.
CreateSoundMixerSettingsWindowMixerChangeNoticeTests
The project has one Sound Mixer Settings asset, and effect loops resolve through the mixer it names. The wizard updates that asset in place, so changing its Audio Mixer field repoints the only settings the game reads — every effect loop registered for the previous mixer stops resolving. The Mixer step says so, in a one-line warning shown exactly while the field differs from the asset's own mixer. Every fixture copies the REAL shipped settings and mixer under a private temp root.
CreateSoundMixerSettingsWindowParameterSeedingTests
The Parameters step seeds its exposed-parameter table from the settings asset it updates. Another wizard can append a row for a mixer parameter a shipped row already binds — the project's own game setting beside the shipped one — and the table then showed both rows as red duplicates the author had to delete by hand. Seeding keeps one row per mixer parameter: the project-owned row wins and the shipped duplicate is dropped from the draft. Duplicates ownership cannot decide stay visible as a notice with an in-window merge. Every fixture copies the REAL shipped settings and game-setting assets under a private temp root.
CreateSoundMixerSettingsWindowRealRunDriver
Runs CreateSoundMixerSettingsWindow for real: a sound mixer settings asset is created in the
fixture folder the way CreateSoundMixerSettingsWindowDoneStepTests builds its own, adopted as the
window's target and updated in place through the window's own primary action.
SoundMixerSettingsCreatorTests
EditMode tests for SoundMixerSettingsCreator: field/bounds/exposed-parameter validation
and, in a temporary folder, actual settings asset creation — including the create-vs-update singleton
contract and the EffectLoops/ExposedParameters merge contracts described on the creator's type doc
comment. Mirrors Serenity.Audio.SettingsCreator.Tests.Editor.AudioPlayerSettingsCreatorTests.