コード例 #1
0
        public void RemoveFirst_MultipleElements_ExtractsFirstElement()
        {
            var list = RandomAccessList.Create(1, 2, 3);

            _ = list.RemoveFirst(out var first);
            Assert.That(first, Is.EqualTo(1));
        }
コード例 #2
0
        public void RemoveFirst_SingleElement_ExtractsElement()
        {
            var list = RandomAccessList.Create(42);

            _ = list.RemoveFirst(out var first);
            Assert.That(first, Is.EqualTo(42));
        }
コード例 #3
0
        public void ForEach_MultipleElements_ActionIsCalledWithElementsInOrder()
        {
            var list      = RandomAccessList.Create(0, 1, 2, 3, 4);
            var arguments = new List <int>();

            list.ForEach(arguments.Add);
            Assert.That(arguments, Is.EqualTo(new[] { 0, 1, 2, 3, 4 }));
        }
コード例 #4
0
        public void Create_ManyElements_IndexedAccessIsCorrect(int size)
        {
            var list = RandomAccessList.Create(Enumerable.Range(0, size).ToArray());

            for (var i = 0; i < size; i++)
            {
                Assert.That(list[i], Is.EqualTo(i));
            }
        }
コード例 #5
0
        public void GetEnumerator_MultipleElements_YieldsElementsInOrder()
        {
            var list      = RandomAccessList.Create(0, 1, 2, 3, 4);
            var arguments = new List <int>();

            foreach (var value in list)
            {
                arguments.Add(value);
            }

            Assert.That(arguments, Is.EqualTo(new[] { 0, 1, 2, 3, 4 }));
        }
コード例 #6
0
        public void SetItem_AtIndex_DoesNotChangeOtherElements(int index)
        {
            var list = RandomAccessList.Create(new int[4]).SetItem(index, 42);

            for (var i = 0; i < 4; i++)
            {
                if (i != index)
                {
                    Assert.That(list[i], Is.Zero);
                }
            }
        }
コード例 #7
0
        public void IsEmpty_NonEmpty_IsFalse()
        {
            var list = RandomAccessList.Create(0);

            Assert.That(list.IsEmpty, Is.False);
        }
コード例 #8
0
        public void Create_ManyElements_CountIsCorrect()
        {
            var list = RandomAccessList.Create(1, 2, 3);

            Assert.That(list.Count(), Is.EqualTo(3));
        }
コード例 #9
0
        public void Create_CountIsOne()
        {
            var list = RandomAccessList.Create(0);

            Assert.That(list.Count(), Is.EqualTo(1));
        }
コード例 #10
0
        public void RemoveFirst_SingleElement_ReturnsEmpty()
        {
            var list = RandomAccessList.Create(0);

            Assert.That(list.RemoveFirst(out _), Is.EqualTo(RandomAccessList <int> .Empty));
        }
コード例 #11
0
        public void SetItem_AtIndex_ElementAtIndexChanges(int index)
        {
            var list = RandomAccessList.Create(new int[4]).SetItem(index, 42);

            Assert.That(list[index], Is.EqualTo(42));
        }
コード例 #12
0
        public void SetItem_InvalidIndex_Throws(int index)
        {
            var list = RandomAccessList.Create(0, 1, 2, 3);

            Assert.That(() => list.SetItem(index, 0), Throws.TypeOf <ArgumentOutOfRangeException>());
        }
コード例 #13
0
        public void Item_AtIndex_ReturnsCorrectElement(int index)
        {
            var list = RandomAccessList.Create(0, 1, 2, 3);

            Assert.That(list[index], Is.EqualTo(index));
        }
コード例 #14
0
        public void RemoveFirst_MultipleElements_CountIsDecremented()
        {
            var list = RandomAccessList.Create(0, 1, 2);

            Assert.That(list.RemoveFirst(out _).Count(), Is.EqualTo(2));
        }
コード例 #15
0
        public void Any_NonEmpty_IsTrue()
        {
            var list = RandomAccessList.Create(0);

            Assert.That(list.Any, Is.True);
        }
コード例 #16
0
        public void First_SingleElement_ReturnsElement()
        {
            var list = RandomAccessList.Create(42);

            Assert.That(list.First, Is.EqualTo(42));
        }
コード例 #17
0
        public void First_ManyElements_ReturnsFirstElement()
        {
            var list = RandomAccessList.Create(1, 2, 3);

            Assert.That(list.First, Is.EqualTo(1));
        }