public void InsertsItemInListAtTheSpecifiedIndex() { var target = new TestableSnapshottingList <object>(); var item = new object(); target.Insert(0, item); Assert.Same(item, target.Collection[0]); }
public void ResetsSnapshotSoThatItIsRecreatedAtNextRead() { var target = new TestableSnapshottingList <object>(); target.GetSnapshot(); target.Insert(0, null); Assert.Null(target.Snapshot); }
public void RemovesItemAtTheSpecifiedIndexInList() { var target = new TestableSnapshottingList <object> { null }; target.RemoveAt(0); Assert.Equal(0, target.Collection.Count); }
public void ReturnsIndexOfGivenItemInSnapshot() { var target = new TestableSnapshottingList <object>(); var item = new object(); target.Snapshot = new List <object> { item }; Assert.Equal(0, target.IndexOf(item)); }
public void SetterReplacesItemAtTheSpecifiedIndexInList() { var target = new TestableSnapshottingList <object> { null }; var item = new object(); target[0] = item; Assert.Same(item, target.Collection[0]); }
public void GetterReturnsSnapshotItemAtSpecifiedIndex() { var target = new TestableSnapshottingList <object>(); var item = new object(); target.Snapshot = new List <object> { item }; Assert.Same(item, target[0]); }
public void CreatesCloneOfGivenList() { var target = new TestableSnapshottingList <object>(); var item = new object(); var input = new List <object> { item }; IList <object> output = target.CreateSnapshot(input); Assert.Same(item, output[0]); }
public void SetterResetsSnapshotSoThatItIsRecreatedAtNextRead() { var target = new TestableSnapshottingList <object> { null }; target.GetSnapshot(); target[0] = new object(); Assert.Null(target.Snapshot); }
public void ResetsSnapshotSoThatItIsRecreatedAtNextRead() { var target = new TestableSnapshottingList <object> { null }; target.GetSnapshot(); target.RemoveAt(0); Assert.IsNull(target.Snapshot); }
public void LocksCollectionForThreadSafety() { Task anotherThread; var target = new TestableSnapshottingList <object>(); lock (target.Collection) { anotherThread = TaskEx.Run(() => target.Insert(0, new object())); Assert.False(anotherThread.Wait(20)); } Assert.True(anotherThread.Wait(20)); }
public void SetterLocksCollectionForThreadSafety() { Task anotherThread; var target = new TestableSnapshottingList <object> { null }; lock (target.Collection) { anotherThread = TaskEx.Run(() => target[0] = new object()); Assert.IsFalse(anotherThread.Wait(20)); } Assert.IsTrue(anotherThread.Wait(20)); }
public void LocksCollectionForThreadSafety() { Task anotherThread; var target = new TestableSnapshottingList <object> { null }; lock (target.Collection) { anotherThread = Task.Run(() => target.RemoveAt(0)); Assert.False(anotherThread.Wait(20)); } Assert.True(anotherThread.Wait(20)); }
public void CreatesNewList() { var target = new TestableSnapshottingList <object>(); Assert.NotNull(target.Collection); }