import unittest
from .backends import TaskWarrior
-from .task import (Task, ReadOnlyDictView, LazyUUIDTask,
- LazyUUIDTaskSet, TaskQuerySet)
+from .task import Task, ReadOnlyDictView, TaskQuerySet
+from .lazy import LazyUUIDTask, LazyUUIDTaskSet
from .serializing import DATE_FORMAT, local_zone
# http://taskwarrior.org/docs/design/task.html , Section: The Attributes
assert self.stored['uuid'] == self.lazy['uuid']
assert type(self.lazy) is LazyUUIDTask
- def test_conversion(self):
+ def test_lazy_explicit_conversion(self):
+ assert type(self.lazy) is LazyUUIDTask
+ self.lazy.replace()
+ assert type(self.lazy) is Task
+
+ def test_conversion_key(self):
assert self.stored['description'] == self.lazy['description']
assert type(self.lazy) is Task
+ def test_conversion_attribute(self):
+ assert type(self.lazy) is LazyUUIDTask
+ assert self.lazy.completed is False
+ assert type(self.lazy) is Task
+
def test_normal_to_lazy_equality(self):
assert self.stored == self.lazy
assert type(self.lazy) is LazyUUIDTask
assert self.lazy in tasks
assert type(self.lazy) is LazyUUIDTask
+ def test_lazy_saved(self):
+ assert self.lazy.saved is True
+
+ def test_lazy_modified(self):
+ assert self.lazy.modified is False
+
+ def test_lazy_modified_fields(self):
+ assert self.lazy._modified_fields == set()
+
class LazyUUIDTaskSetTest(TasklibTest):
assert self.task3 in self.lazy
assert type(self.lazy) is LazyUUIDTaskSet
- def test_eq(self):
- assert self.lazy == self.tw.tasks.all()
+ def test_eq_lazy(self):
+ new_lazy = LazyUUIDTaskSet(self.tw, self.uuids)
+ assert self.lazy == new_lazy
+ assert not self.lazy != new_lazy
assert type(self.lazy) is LazyUUIDTaskSet
- def test_conversion(self):
- assert set(self.lazy) == set(self.tw.tasks.all())
- assert type(self.lazy) is TaskQuerySet
+ def test_eq_real(self):
+ assert self.lazy == self.tw.tasks.all()
+ assert self.tw.tasks.all() == self.lazy
+ assert not self.lazy != self.tw.tasks.all()
+
+ assert type(self.lazy) is LazyUUIDTaskSet