Пример #1
0
 public void RemoveRangeThenInsert()
 {
     _source.AddRange(Enumerable.Range(1, 5));
     _source.RemoveRange(1, 3);
     _source.Insert(1, 3);
     _results.Data.Items.ShouldAllBeEquivalentTo(new[] { 5, 3, 1 });
 }
Пример #2
0
 public void RemoveRangeThenInsert()
 {
     _source.AddRange(Enumerable.Range(1, 5));
     _source.RemoveRange(1, 3);
     _source.Insert(1, 3);
     CollectionAssert.AreEquivalent(new[] { 5, 3, 1 }, _results.Data.Items);
 }
Пример #3
0
            public void InsertAtTarget(object target, T item, bool before)
            {
                if (target is not T targetItem)
                {
                    return;
                }
                var targetIndex = _sourceList.Items.IndexOf(targetItem);

                if (targetIndex >= _sourceList.Count)
                {
                    return;
                }

                if (targetIndex >= 0)
                {
                    if (!before)
                    {
                        targetIndex++;
                    }
                    _sourceList.Insert(targetIndex, item);
                }
                else
                {
                    _sourceList.Add(item);
                }
            }
Пример #4
0
        public void InsertInPageReflectsChange()
        {
            var people = _generator.Take(100).ToArray();
            _source.AddRange(people);

            var newPerson = new Person("A", 1);
            _source.Insert(10, newPerson);

            var message = _results.Messages[1].ElementAt(0);
            var removedPerson = people.ElementAt(24);

            Assert.AreEqual(newPerson, _results.Data.Items.ElementAt(10));
            Assert.AreEqual(removedPerson, message.Item.Current);
            Assert.AreEqual(ListChangeReason.Remove, message.Reason);
        }