Esempio n. 1
0
        public static void HasReferenceSemantics()
        {
            var firstArray  = new byte[Blake256Hash.Length];
            var secondArray = new byte[Blake256Hash.Length];

            for (var i = 0; i < Blake256Hash.Length; i++)
            {
                firstArray[i]  = (byte)i;
                secondArray[i] = (byte)i;
            }

            var firstHash  = new Blake256Hash(firstArray);
            var secondHash = new Blake256Hash(secondArray);

            // Value equality
            Assert.Equal(firstHash, secondHash);
            Assert.True(firstHash.Equals(secondHash));
            Assert.Equal(firstHash.GetHashCode(), secondHash.GetHashCode());

            // Reference equality
            Assert.False(firstHash == secondHash);

            var hashSet = new HashSet <Blake256Hash> {
                firstHash
            };

            Assert.True(hashSet.Contains(secondHash));
        }
Esempio n. 2
0
        public static void HasReferenceSemantics()
        {
            var firstArray = new byte[Blake256Hash.Length];
            var secondArray = new byte[Blake256Hash.Length];

            for (var i = 0; i < Blake256Hash.Length; i++)
            {
                firstArray[i] = (byte)i;
                secondArray[i] = (byte)i;
            }

            var firstHash = new Blake256Hash(firstArray);
            var secondHash = new Blake256Hash(secondArray);

            // Value equality
            Assert.Equal(firstHash, secondHash);
            Assert.True(firstHash.Equals(secondHash));
            Assert.Equal(firstHash.GetHashCode(), secondHash.GetHashCode());

            // Reference equality
            Assert.False(firstHash == secondHash);

            var hashSet = new HashSet<Blake256Hash> { firstHash };
            Assert.True(hashSet.Contains(secondHash));
        }