public void Equality_and_hashcode_tests() { var a = new Arr04(); var b = new Arr04(); Assert.True(a == b); Assert.True(Equals(a, b)); Assert.Equal(a.GetHashCode(), b.GetHashCode()); for (var i = 0; i < N; i++) { a[i] = (byte)(i + 1); Assert.True(a != b); Assert.False(Equals(a, b)); Assert.NotEqual(a.GetHashCode(), b.GetHashCode()); b[i] = (byte)(i + 1); Assert.True(a == b); Assert.True(Equals(a, b)); Assert.Equal(a.GetHashCode(), b.GetHashCode()); } Assert.True(new Arr04().Equals((object)new Arr04())); Assert.False(a.Equals(0)); }