[Test] public void FindLastIndexReturnsLastPositionWhenFoundOtherwiseNegativeOne()
        {
            var sut  = new CopyOnWriteList <T>(Samples.Concat(Samples));
            var size = SampleSize;

            Assert.That(sut.FindLastIndex(i => i.Equals(TestData <T> .M1)), Is.EqualTo(-1));
            Assert.That(sut.FindLastIndex(i => i.Equals(TestData <T> .Two)), Is.EqualTo(size + 2));
            Assert.That(sut.FindLastIndex(i => i.Equals(TestData <T> .MakeData(size - 1))), Is.EqualTo(size * 2 - 1));
        }
        public int FindIndexReturnsPositionWhenFoundOtherwiseNegativeOne(T item, int index)
        {
            var sut = new CopyOnWriteList <T>(Samples.Concat(Samples));

            return(sut.FindIndex(index, i => i.Equals(item)));
        }
        public int LastIndexOfWithCountReturnsPositionWhenFoundOtherwiseNegativeOne(T item, int index, int count)
        {
            var sut = new CopyOnWriteList <T>(Samples.Concat(Samples));

            return(sut.LastIndexOf(item, index, count));
        }
        public int IndexOfReturnsPositionWhenFoundOtherwiseNegativeOne(T item, int index)
        {
            var sut = new CopyOnWriteList <T>(Samples.Concat(Samples));

            return(sut.IndexOf(item, index));
        }