using System; using UnitTestSharp; namespace Susurrus.UnitTests { public class SoundTests : TestFixture { public class CtorTests : TestFixture { public void AcceptsZeroDuration() { CheckEqual(TimeSpan.Zero, new Sound(TimeSpan.Zero, channelCount: 1).Duration); } public void RejectsNegativeDuration() { CheckThrow(typeof(ArgumentOutOfRangeException)); new Sound(TimeSpan.FromTicks(-1), channelCount: 1); } public void RejectsZeroChannels() { CheckThrow(typeof(ArgumentOutOfRangeException)); new Sound(TimeSpan.FromSeconds(1), channelCount: 0); } public void RejectsNegativeChannels() { CheckThrow(typeof(ArgumentOutOfRangeException)); new Sound(TimeSpan.FromSeconds(1), channelCount: -2); } } public class DurationTests : TestFixture { public void IsTheValueGiven() { CheckEqual(TimeSpan.FromMilliseconds(760), new Sound(TimeSpan.FromMilliseconds(760), 1).Duration); } } public class ChannelCountTests : TestFixture { public void IsTheValueGiven() { CheckEqual(2, new Sound(TimeSpan.FromSeconds(1), channelCount: 2).ChannelCount); } } } }