public void ItemCantBeRemovedBeforeLatestRemoval() { var list = new StreamableList <int>(); list.AddAt(6, new DoubleStreamMoment(0)); list.AddAt(5, new DoubleStreamMoment(1)); list.RemoveAt(5, new DoubleStreamMoment(2)); Assert.That(() => list.RemoveAt(6, new DoubleStreamMoment(0.5)), Throws.InstanceOf <ArgumentOutOfRangeException>()); }
public void RemovedItemNotReturnedAfterRemoval() { var list = new StreamableList <int>(); list.AddAt(5, new DoubleStreamMoment(1)); list.RemoveAt(5, new DoubleStreamMoment(2)); foreach (var moment in new double[] { 2, 3, 100 }.Select(d => new DoubleStreamMoment(d))) { Assert.That(list.AtMoment(moment), Is.Empty); } }
public void RemovedItemReturnedBeforeRemoval() { var list = new StreamableList <int>(); list.AddAt(5, new DoubleStreamMoment(1)); list.RemoveAt(5, new DoubleStreamMoment(2)); var expected = new int[] { 5 }; foreach (var moment in new double[] { 1, 1.5, 1.999 }.Select(d => new DoubleStreamMoment(d))) { Assert.That(list.AtMoment(moment), Is.EquivalentTo(expected)); } }