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