Ejemplo n.º 1
0
        public void Can_discard_volatile_visited_state()
        {
            try
            {
                List <IWorkItem> items = _repository.GetItems().ToList();

                items.ForEach(item => Assert.False(item.Visited));

                IWorkItem first = items.First();
                Assert.False(first.Visited);

                first.Visited = true;
                first.Status  = WorkItemStatus.Done;

                _repository.UpdateVolatileState(items);

                items = _repository.GetItems().ToList();
                first = items.First();
                Assert.True(first.Visited);
                Assert.AreEqual(WorkItemStatus.Done, first.Status);

                _repository.Discard();

                items = _repository.GetItems().ToList();
                first = items.First();
                Assert.False(first.Visited);
                Assert.AreEqual(WorkItemStatus.Todo, first.Status);
            }
            finally
            {
                // reset visited state
                //List<IWorkItem> items = _repository.GetItems().ToList();

                //items.First().Visited = false;
                //items.First().Status = WorkItemStatus.Todo;

                //_repository.UpdateVolatileState(items);
                //_repository.Commit();
            }
        }