예제 #1
0
 public void DeriveWithSelectorRemoveTwo() 
 {
     var list = new RxList<string>("1", "2", "3");
     var derived = list.Derive(x => int.Parse(x));
     list.RemoveRange(new[] { "1", "3" });
     Assert.AreEqual(2, derived[0]);
 }
예제 #2
0
 public void DeriveRemovesOnModified()
 {
     var list = new RxList<string>("1", "2", "3");
     int removed = -1;
     list.Derive(x => int.Parse(x), x => removed = x);
     list[0] = "5";
     Assert.AreEqual(1, removed);
 }
예제 #3
0
 public void DeriveWithSelectorInitialState()
 {
     var list = new RxList<string>("1", "2", "3");
     var derived = list.Derive(x => int.Parse(x));
     Assert.AreEqual(1, derived[0]);
     Assert.AreEqual(2, derived[1]);
     Assert.AreEqual(3, derived[2]);
 }
예제 #4
0
 public void DeriveWithSelectorAdd()
 {
     var list = new RxList<string>("1");
     var derived = list.Derive(x => int.Parse(x));
     list.Add("2");
     Assert.AreEqual(1, derived[0]);
     Assert.AreEqual(2, derived[1]);
 }
예제 #5
0
 public void DeriveWithSelectorModifyTwo()
 {
     var list = new RxList<string>("1", "2", "3");
     var derived = list.Derive(x => int.Parse(x));
     list.ModifyRange(new[] { new RxListItem<string>(0, "4"), new RxListItem<string>(2, "5") });
     Assert.AreEqual(4, derived[0]);
     Assert.AreEqual(2, derived[1]);
     Assert.AreEqual(5, derived[2]);
 }
예제 #6
0
 public void DeriveWithSelectorModifyOne()
 {
     var list = new RxList<string>("1", "2", "3");
     var derived = list.Derive(x => int.Parse(x));
     list[1] = "4";
     Assert.AreEqual(1, derived[0]);
     Assert.AreEqual(4, derived[1]);
     Assert.AreEqual(3, derived[2]);
 }
예제 #7
0
 public void DeriveWithSelectorInsertTwo()
 {
     var list = new RxList<string>("2");
     var derived = list.Derive(x => int.Parse(x));
     list.InsertRange(new[] { new RxListItem<string>(0, "1"), new RxListItem<string>(1, "3") });
     Assert.AreEqual(1, derived[0]);
     Assert.AreEqual(2, derived[1]);
     Assert.AreEqual(3, derived[2]);
 }
예제 #8
0
 public void DeriveRemovesOnRemoved()
 {
     var list = new RxList<string>("1", "2", "3");
     int removed = -1;
     list.Derive(x => int.Parse(x), x => removed = x);
     list.Remove("2");
     Assert.AreEqual(2, removed);
 }