using Amphora; using System.Linq; using UnitTestSharp; namespace Susurrus.UnitTests { public class SoundFailuresTests : TestFixture { public class NamesTests : TestFixture { public void EachKindHasItsOwnName() { FailureKind[] kinds = { SoundFailures.WavMalformed, SoundFailures.WavUnsupported, SoundFailures.OggFailed, SoundFailures.UnsupportedFormat, SoundFailures.UnrecognizedFormat, SoundFailures.TooManyChannels, SoundFailures.TooLarge, SoundFailures.StreamRequestInvalid, SoundFailures.StreamingUnsupported, }; CheckEqual(kinds.Length, kinds.Select(kind => kind.Name).Distinct().Count()); } } public class TooManyChannelsTests : TestFixture { public void NamesTheChannelCount() { CheckEqual("Susurrus plays mono and stereo sounds, and this one has 6 channels.", SoundFailures.TooManyChannels.Fail("6 channels").Describe()); } } public class StreamingUnsupportedTests : TestFixture { public void SaysSo() { CheckEqual("This backend can't stream sounds, so load the sound whole instead.", SoundFailures.StreamingUnsupported.Fail().Describe()); } } public class TooLargeTests : TestFixture { public void SaysSo() { CheckEqual("This sound is too large to load.", SoundFailures.TooLarge.Fail().Describe()); } } } }