public void FantomChild() { var parent = new TodoData() { Id = "1", Parent = null, Attributes = new Dictionary <string, string>(), EstimateTime = TimeSpan.FromSeconds(1), Name = "TestTodo", TimeRecords = new[] { new TimeRecordData { Start = new DateTime(2014, 02, 03, 11, 22, 33), End = new DateTime(2014, 02, 03, 11, 22, 34) } }, Completed = true }; var manager = new TodoManager(); manager.UpsertTodo(parent); var pt = manager.GetTodo(parent.Id); pt.AddChild(); manager.UpsertTodoRange(TodoConvert.Convert(pt)); Assert.Single(pt.Children); }
public void Test() { var man1 = new TodoManager(); var man2 = new TodoManager(); var parent = new TodoData() { Id = "1", Parent = null, Attributes = new Dictionary <string, string>(), EstimateTime = TimeSpan.FromSeconds(1), Name = "TestTodo", TimeRecords = new[] { new TimeRecordData { Start = new DateTime(2014, 02, 03, 11, 22, 33), End = new DateTime(2014, 02, 03, 11, 22, 34) } }, Completed = true }; var c = man1.UpsertTodo(parent); man2.ApplyChange(c); var t = man1.TopTodo.First(); t.AddChild(); c = man2.UpsertTodoRange(TodoConvert.Convert(t)); man1.ApplyChange(c); var tc = t.Children.First(); tc.AddChild(); c = man2.UpsertTodoRange(TodoConvert.Convert(tc)); man1.ApplyChange(c); var tgc = tc.Children.First(); tgc.Name = "Name2"; c = man2.UpsertTodoRange(TodoConvert.Convert(tc)); man1.ApplyChange(c); Assert.Equal("Name2", man1.TopTodo.First().Children.First().Children.First().Name); Assert.Equal(t, t.Children.First().Parent); }