public void Can_refresh_with_persisted_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); _repository.Commit(); items = _repository.GetItems().ToList(); first = items.First(); Assert.True(first.Visited); Assert.AreEqual(WorkItemStatus.Done, 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(); } }