using System; using UnitTestSharp; namespace Susurrus.UnitTests { public class SoundIdTests : TestFixture { public class CtorTests : TestFixture { public void KeepsTheIndex() { CheckEqual(7, new SoundId(7).Index); } public void ANegativeIndex_Throws() { CheckThrow(typeof(ArgumentOutOfRangeException)); new SoundId(-1); } } public class EqualityTests : TestFixture { public void IdsOfTheSameIndex_AreEqual() { CheckTrue(new SoundId(3) == new SoundId(3)); CheckTrue(new SoundId(3).Equals((object)new SoundId(3))); CheckEqual(new SoundId(3).GetHashCode(), new SoundId(3).GetHashCode()); } public void IdsOfDifferentIndexes_AreNotEqual() { CheckTrue(new SoundId(3) != new SoundId(4)); CheckFalse(new SoundId(3).Equals(new SoundId(4))); } public void ANonId_IsNotEqual() { CheckFalse(new SoundId(3).Equals("3")); } } public class ToStringTests : TestFixture { public void NamesTheIndex() { CheckEqual("SoundId(5)", new SoundId(5).ToString()); } } } }