public void BrowsablePointer_IndexPointsToFirstItem()
 {
     var list = new BrowsableCollectionMock (photo1);
     var pointer = new BrowsablePointer (list, 0);
     Assert.AreEqual (0, pointer.Index);
     Assert.AreEqual (photo1, pointer.Current);
 }
 public void BrowsablePointer_IndexIsNullForEmptyCollection()
 {
     var list = new BrowsableCollectionMock ();
     var pointer = new BrowsablePointer (list, 0);
     Assert.AreEqual (0, pointer.Index);
     Assert.IsNull (pointer.Current);
 }
 public void BrowsablePointer_PointsToSecond_WhenFirstIsDeleted()
 {
     var list = new BrowsableCollectionMock (photo1, photo2, photo3);
     var pointer = new BrowsablePointer (list, 0);
     list.RemoveAt (0);
     Assert.AreEqual (0, pointer.Index);
     Assert.AreEqual (photo2, pointer.Current);
 }
 public void BrowsablePointerTest_IndexIsOutOfBounds()
 {
     var list = new BrowsableCollectionMock (photo1);
     var pointer = new BrowsablePointer (list, 1);
     // should this be fixed?
     Assert.AreEqual (1, pointer.Index);
     Assert.IsNull (pointer.Current);
 }
 public void BrowsablePointer_StillPointsToSecond_WhenThirdIsDeleted()
 {
     var list = new BrowsableCollectionMock (photo1, photo2, photo3);
     var pointer = new BrowsablePointer (list, 1);
     list.RemoveAt (2);
     Assert.AreEqual (1, pointer.Index);
     Assert.AreEqual (photo2, pointer.Current);
 }