public void TestSeedCollectionEqualityAndHashCodes() { var seeds1 = new SeedCollection(Seed.FromMixId(MixId)); var seeds2 = new SeedCollection(Seed.FromMixId(MixId)); var seeds3 = new SeedCollection(Seed.FromArtistId(ArtistId)); SeedCollection nullSeeds1 = null; SeedCollection nullSeeds2 = null; Assert.AreEqual(seeds1, seeds2, "Expected equality"); Assert.IsTrue(nullSeeds1 == nullSeeds2, "Expected equality"); Assert.IsTrue(seeds1 == seeds2, "Expected equality"); Assert.IsTrue(seeds1 != seeds3, "Expected inequality"); Assert.IsFalse(seeds1.Equals(null), "Expected inequality"); Assert.IsTrue(seeds1.Equals(seeds1), "Expected equality"); Assert.IsTrue(seeds1.Equals(seeds2), "Expected equality"); Assert.AreNotEqual(seeds1.GetHashCode(), 0, "Expected a hashcode"); Assert.IsNotNull(seeds1.GetEnumerator(), "Expected Enumerator"); Assert.IsNotNull((seeds1 as IEnumerable).GetEnumerator(), "Expected Enumerator"); }