コード例 #1
0
        public void Equality_and_hashcode_tests()
        {
            var a = new Arr18();
            var b = new Arr18();

            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 Arr18().Equals((object)new Arr18()));
            Assert.False(a.Equals(0));
        }
コード例 #2
0
        public void CopyTo_copies_specified_buffer()
        {
            // Arrange
            var a                = new Arr18();
            var b                = new Arr18();
            var sourceIndex      = 4;
            var destinationIndex = 10;
            var count            = 3;

            for (var i = 0; i < N; i++)
            {
                a[i] = (byte)(i + 5);
            }

            // Act
            a.CopyTo(ref b, sourceIndex, destinationIndex, count);

            // Assert
            for (var i = 0; i < N; i++)
            {
                if (i >= destinationIndex && i < destinationIndex + count)
                {
                    Assert.Equal((byte)(i + 5 - destinationIndex + sourceIndex), b[i]);
                }
                else
                {
                    Assert.Equal(0, b[i]);
                }
            }
        }
コード例 #3
0
        public void Indexer_tests()
        {
            // Arrange
            var arr = new Arr18();

            // Act
            for (var i = 0; i < N; i++)
            {
                arr[i] = (byte)i;
            }

            // Assert
            for (var i = 0; i < N; i++)
            {
                Assert.Equal(i, arr[i]);
            }
        }
コード例 #4
0
        public void SequenceEqual_returns_whether_specified_buffers_are_equal(int[] a, int[] b, int startIndex, int count, bool expectedEqual)
        {
            // Arrange
            var left  = new Arr18();
            var right = new Arr18();

            for (var i = 0; i < a.Length; i++)
            {
                left[i] = (byte)a[i];
            }
            for (var i = 0; i < b.Length; i++)
            {
                right[i] = (byte)b[i];
            }

            // Act
            var equal = left.SequenceEqual(right, startIndex, count);

            // Assert
            Assert.Equal(expectedEqual, equal);
        }