Beispiel #1
0
        public void Start()
        {
            var data = 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();
            var changes = manager.UpsertTodo(data);
            var m2      = new TodoManager();

            m2.ApplyChange(changes);
            var todo = m2.GetTodo(data.Id);

            todo.Start();
            var change = manager.UpsertTodo(TodoConvert.ConvertSingle(todo));
            var result = manager.TopTodo.First();

            Assert.Equal(new[] { "1" }, change.Upsert.Select(t => t.Id).OrderBy(id => id));

            Assert.Equal("1", result.Id);
            Assert.Equal(2, result.TimeRecords.Count());
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }