コード例 #1
0
        public void Can_go_next()
        {
            IWorkItem item1      = new WorkItemMock(1);
            IWorkItem item2      = new WorkItemMock(2);
            IWorkItem item3      = new WorkItemMock(3);
            IWorkItem item4      = new WorkItemMock(4);
            var       repository = new ItemRepositoryMock(new List <IWorkItem> {
                item1, item2, item3, item4
            });

            IWorkList wl = new MemoryQueryWorkList(repository, "work list");

            wl.GoNext();
            Assert.AreEqual(item1, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoNext();
            Assert.AreEqual(item2, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoNext();
            Assert.AreEqual(item3, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoNext();
            Assert.AreEqual(item4, wl.Current);
            Assert.True(wl.Current?.Visited);

            // end of work list, current item is the same as before
            wl.GoNext();
            Assert.AreEqual(item4, wl.Current);
            Assert.True(wl.Current?.Visited);
        }
コード例 #2
0
        public void Cannot_go_first_again_if_first_item_is_set_done()
        {
            IWorkItem item1      = new WorkItemMock(1);
            IWorkItem item2      = new WorkItemMock(2);
            IWorkItem item3      = new WorkItemMock(3);
            IWorkItem item4      = new WorkItemMock(4);
            var       repository = new ItemRepositoryMock(new List <IWorkItem> {
                item1, item2, item3, item4
            });

            IWorkList wl = new MemoryQueryWorkList(repository, "work list");

            wl.GoFirst();
            Assert.AreEqual(item1, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoNext();
            Assert.AreEqual(item2, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoFirst();
            Assert.AreEqual(item1, wl.Current);
            Assert.True(wl.Current?.Visited);

            // set status done and update work list
            wl.Current.Status = WorkItemStatus.Done;
            wl.SetStatus(wl.Current, WorkItemStatus.Done);

            // second item is now the first in work list
            // because first item is set to done and therefor 'not visible'
            wl.GoFirst();
            Assert.AreEqual(item2, wl.Current);
            Assert.True(wl.Current?.Visited);
        }
コード例 #3
0
        public void Can_go_previous()
        {
            IWorkItem item1      = new WorkItemMock(1);
            IWorkItem item2      = new WorkItemMock(2);
            IWorkItem item3      = new WorkItemMock(3);
            IWorkItem item4      = new WorkItemMock(4);
            var       repository = new ItemRepositoryMock(new List <IWorkItem> {
                item1, item2, item3, item4
            });

            IWorkList wl = new MemoryQueryWorkList(repository, "work list");

            wl.GoNext();
            Assert.AreEqual(item1, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoNext();
            Assert.AreEqual(item2, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoNext();
            Assert.AreEqual(item3, wl.Current);
            Assert.True(wl.Current?.Visited);

            // go previous
            wl.GoPrevious();
            Assert.AreEqual(item2, wl.Current);
            Assert.True(wl.Current?.Visited);

            // go previous again
            wl.GoPrevious();
            Assert.AreEqual(item1, wl.Current);
            Assert.True(wl.Current?.Visited);

            wl.GoNext();
            Assert.AreEqual(item2, wl.Current);
            Assert.True(wl.Current?.Visited);
        }