public void AddFirstByItemParamResultNodeHasNoOneNodePrev()
        {
            var list = new ConcurrentLinkedList <int>();

            list.AddFirst(10);
            list.AddFirst(5);
            list.AddFirst(3);
            var node = list.AddFirst(7);

            Assert.NotNull(list._root);
            Assert.Null(node.Prev);
            Assert.NotNull(list.First);
            Assert.Equal(7, list.First.Value);
        }
Exemple #2
0
        public void AddFirstTest()
        {
            var list  = new ConcurrentLinkedList <Guid>();
            var array = Enumerable.Range(0, 4).Select(x => Guid.NewGuid()).ToArray();

            foreach (var value in array.Reverse())
            {
                list.AddFirst(value);
            }
            list.ToArray().Should().Equal(array);
        }
        public void AddLastByItemIsNodeResultNodeHasNoOneNodePrev()
        {
            var list = new ConcurrentLinkedList <int>();
            var node = new ConcurrentLinkedListNode <int>()
            {
                Value = 10
            };

            list.AddFirst(node);

            Assert.NotNull(list._root);
            Assert.Null(node.Prev);
        }
Exemple #4
0
        public void AddParallelTest()
        {
            var list  = new ConcurrentLinkedList <Guid>();
            var array = Enumerable.Range(0, 1024).Select(_ => Guid.NewGuid()).ToArray();

            Parallel.ForEach(array, () => - 1, (guid, state, index) =>
            {
                if (index == -1)
                {
                    return(list.AddFirst(guid));
                }
                else
                {
                    return(list.AddAfter(index, guid));
                }
            }, i => { });
            list.ToArray().Should().BeEquivalentTo(array);
        }