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); }
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); }
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); }