X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/0d729dfb9cf1c14f8dbda6e072ca1d7a9bb074ac..96fb17929bd52d58a8f760eab98265824ac5dce3:/tasklib/tests.py?ds=inline diff --git a/tasklib/tests.py b/tasklib/tests.py index fa4e5f3..a77058a 100644 --- a/tasklib/tests.py +++ b/tasklib/tests.py @@ -12,7 +12,8 @@ import tempfile import unittest from .backends import TaskWarrior -from .task import Task, ReadOnlyDictView, LazyUUIDTask +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 @@ -1117,10 +1118,20 @@ class LazyUUIDTaskTest(TasklibTest): 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 @@ -1138,3 +1149,57 @@ class LazyUUIDTaskTest(TasklibTest): 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): + + def setUp(self): + super(LazyUUIDTaskSetTest, self).setUp() + + self.task1 = Task(self.tw, description="task 1") + self.task2 = Task(self.tw, description="task 2") + self.task3 = Task(self.tw, description="task 3") + + self.task1.save() + self.task2.save() + self.task3.save() + + self.uuids = ( + self.task1['uuid'], + self.task2['uuid'], + self.task3['uuid'] + ) + + self.lazy = LazyUUIDTaskSet(self.tw, self.uuids) + + def test_length(self): + assert len(self.lazy) == 3 + assert type(self.lazy) is LazyUUIDTaskSet + + def test_contains(self): + assert self.task1 in self.lazy + assert self.task2 in self.lazy + assert self.task3 in self.lazy + assert type(self.lazy) is LazyUUIDTaskSet + + 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_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