using MrGameEng.Audio; using Xunit; namespace MrGameEng.Audio.Tests; public class AudioManagerTests { [Fact] public void MasterVolume_Default_IsOne() { using var audio = new AudioManager(); Assert.Equal(1f, audio.MasterVolume); } [Theory] [InlineData(-0.5f, 0f)] [InlineData(0.4f, 0.4f)] [InlineData(1.7f, 1f)] public void MasterVolume_Clamps_AndMirrorsToMusic(float input, float expected) { using var audio = new AudioManager(); audio.MasterVolume = input; Assert.Equal(expected, audio.MasterVolume); Assert.Equal(expected, audio.Music.Volume); } [Theory] [InlineData(-1f, 0f)] [InlineData(0.25f, 0.25f)] [InlineData(2f, 1f)] public void SoundVolume_Clamps(float input, float expected) { using var audio = new AudioManager(); audio.SoundVolume = input; Assert.Equal(expected, audio.SoundVolume); } }