public void MassiveCallToGetHashCodeOfLargeBytesArray() { var items = new ReadonlyBytes(Enumerable.Repeat((byte)6, 100000).ToArray()); var hash = items.GetHashCode(); for (int i = 0; i < 100000; i++) { Assert.AreEqual(hash, items.GetHashCode()); } }
public void EqualityAndHashCode() { var data1 = new ReadonlyBytes(new byte[] { 1, 2, 3 }); var data2 = new ReadonlyBytes(new byte[] { 1, 2, 3 }); var data3 = new ReadonlyBytes(new byte[] { 1, 2, 3, 4 }); Assert.AreEqual(data1.GetHashCode(), data2.GetHashCode()); Assert.AreNotEqual(data1.GetHashCode(), data3.GetHashCode()); Assert.AreEqual(data1, data2); Assert.AreNotEqual(data1, data3); Assert.AreNotEqual(data2, data3); }
public void HashCode() { Assert.AreEqual(new ReadonlyBytes().GetHashCode(), new ReadonlyBytes().GetHashCode()); Assert.AreEqual(new ReadonlyBytes(1, 2, 3).GetHashCode(), new ReadonlyBytes(1, 2, 3).GetHashCode()); Assert.AreNotEqual(new ReadonlyBytes(1, 2, 3).GetHashCode(), new ReadonlyBytes(1, 2, 3, 4).GetHashCode()); Assert.AreNotEqual(new ReadonlyBytes(1, 2, 3).GetHashCode(), new ReadonlyBytes(1, 2, 4).GetHashCode()); Assert.AreNotEqual(new ReadonlyBytes(1, 2, 3).GetHashCode(), new ReadonlyBytes(1, 2).GetHashCode()); Assert.AreNotEqual(new ReadonlyBytes(1, 2, 3).GetHashCode(), new ReadonlyBytes(3, 2, 1).GetHashCode()); Assert.AreNotEqual(new ReadonlyBytes(1, 0).GetHashCode(), new ReadonlyBytes(0, 31).GetHashCode()); var items = new ReadonlyBytes(4, 2, 67, 1); Assert.AreEqual(items.GetHashCode(), items.GetHashCode()); }