diff --git a/.isort.cfg b/.isort.cfg
index c31143f..b15ba05 100644
--- a/.isort.cfg
+++ b/.isort.cfg
@@ -1,2 +1,3 @@
[settings]
skip=topydo/ui/CLIApplicationBase.py
+known_first_party=topydo
diff --git a/test/command_testcase.py b/test/command_testcase.py
index c376107..a2b0692 100644
--- a/test/command_testcase.py
+++ b/test/command_testcase.py
@@ -15,10 +15,11 @@
# along with this program. If not, see .
import os
-from test.topydo_testcase import TopydoTest
from topydo.lib.Utils import escape_ansi
+from .topydo_testcase import TopydoTest
+
class CommandTest(TopydoTest):
def __init__(self, *args, **kwargs):
diff --git a/test/test_add_command.py b/test/test_add_command.py
index 59c46c2..256c177 100644
--- a/test/test_add_command.py
+++ b/test/test_add_command.py
@@ -17,12 +17,13 @@
import unittest
from datetime import date
from io import StringIO
-from test.command_testcase import CommandTest
from topydo.commands import AddCommand, ListCommand
from topydo.lib import TodoList
from topydo.lib.Config import config
+from .command_testcase import CommandTest
+
# We're searching for 'mock'
# pylint: disable=no-name-in-module
try:
diff --git a/test/test_append_command.py b/test/test_append_command.py
index 9d0fe2f..7288cdc 100644
--- a/test/test_append_command.py
+++ b/test/test_append_command.py
@@ -16,11 +16,12 @@
import unittest
from datetime import date
-from test.command_testcase import CommandTest
from topydo.commands.AppendCommand import AppendCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
class AppendCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_archive_command.py b/test/test_archive_command.py
index e81ed6b..fcfb4d6 100644
--- a/test/test_archive_command.py
+++ b/test/test_archive_command.py
@@ -15,12 +15,13 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
-from test.facilities import load_file_to_todolist
from topydo.commands.ArchiveCommand import ArchiveCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+from .facilities import load_file_to_todolist
+
class ArchiveCommandTest(CommandTest):
def test_archive(self):
diff --git a/test/test_colors.py b/test/test_colors.py
index 6ee1326..560ea8b 100644
--- a/test/test_colors.py
+++ b/test/test_colors.py
@@ -17,12 +17,13 @@
""" Tests for the colorscheme functionality. """
import unittest
-from test.topydo_testcase import TopydoTest
from topydo.lib.Color import Color
from topydo.lib.Config import config
from topydo.lib.Todo import Todo
+from .topydo_testcase import TopydoTest
+
NEUTRAL_COLOR = '\033[0m'
diff --git a/test/test_config.py b/test/test_config.py
index b80de30..906d8b3 100644
--- a/test/test_config.py
+++ b/test/test_config.py
@@ -15,10 +15,11 @@
# along with this program. If not, see .
import unittest
-from test.topydo_testcase import TopydoTest
from topydo.lib.Config import config
+from .topydo_testcase import TopydoTest
+
class ConfigTest(TopydoTest):
def test_config01(self):
diff --git a/test/test_delete_command.py b/test/test_delete_command.py
index ad3b634..7dfe177 100644
--- a/test/test_delete_command.py
+++ b/test/test_delete_command.py
@@ -15,13 +15,14 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
from topydo.commands.DeleteCommand import DeleteCommand
from topydo.lib.Config import config
from topydo.lib.TodoList import TodoList
from topydo.lib.TodoListBase import InvalidTodoException
+from .command_testcase import CommandTest
+
def _yes_prompt(self):
return "y"
diff --git a/test/test_dep_command.py b/test/test_dep_command.py
index bc2357c..937622f 100644
--- a/test/test_dep_command.py
+++ b/test/test_dep_command.py
@@ -15,11 +15,12 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
from topydo.commands.DepCommand import DepCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
class DepCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_depri_command.py b/test/test_depri_command.py
index 791a27a..e3215a3 100644
--- a/test/test_depri_command.py
+++ b/test/test_depri_command.py
@@ -15,11 +15,12 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
from topydo.commands.DepriCommand import DepriCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
class DepriCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_do_command.py b/test/test_do_command.py
index e7815c3..7f13ccd 100644
--- a/test/test_do_command.py
+++ b/test/test_do_command.py
@@ -16,11 +16,12 @@
import unittest
from datetime import date, timedelta
-from test.command_testcase import CommandTest
from topydo.commands.DoCommand import DoCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
def _yes_prompt(self):
return "y"
diff --git a/test/test_edit_command.py b/test/test_edit_command.py
index 9449a0c..537a2d7 100644
--- a/test/test_edit_command.py
+++ b/test/test_edit_command.py
@@ -16,13 +16,14 @@
import os
import unittest
-from test.command_testcase import CommandTest
from topydo.commands.EditCommand import EditCommand
from topydo.lib.Config import config
from topydo.lib.Todo import Todo
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
# We're searching for 'mock'
# pylint: disable=no-name-in-module
try:
diff --git a/test/test_filter.py b/test/test_filter.py
index c0d3351..172e807 100644
--- a/test/test_filter.py
+++ b/test/test_filter.py
@@ -18,13 +18,13 @@
import unittest
from datetime import date, timedelta
-from test.facilities import (load_file, load_file_to_todolist,
- todolist_to_string)
-from test.topydo_testcase import TopydoTest
from topydo.lib import Filter
from topydo.lib.Todo import Todo
+from .facilities import load_file, load_file_to_todolist, todolist_to_string
+from .topydo_testcase import TopydoTest
+
class FilterTest(TopydoTest):
def test_filter03(self):
diff --git a/test/test_get_sub_command.py b/test/test_get_sub_command.py
index 51f762a..99e660c 100644
--- a/test/test_get_sub_command.py
+++ b/test/test_get_sub_command.py
@@ -15,7 +15,6 @@
# along with this program. If not, see .
import unittest
-from test.topydo_testcase import TopydoTest
from topydo.Commands import get_subcommand
from topydo.commands.AddCommand import AddCommand
@@ -24,6 +23,8 @@ from topydo.commands.ListCommand import ListCommand
from topydo.commands.TagCommand import TagCommand
from topydo.lib.Config import ConfigError, config
+from .topydo_testcase import TopydoTest
+
class GetSubcommandTest(TopydoTest):
def test_normal_cmd(self):
diff --git a/test/test_graph.py b/test/test_graph.py
index 9488836..2d6616b 100644
--- a/test/test_graph.py
+++ b/test/test_graph.py
@@ -15,10 +15,11 @@
# along with this program. If not, see .
import unittest
-from test.topydo_testcase import TopydoTest
from topydo.lib.Graph import DirectedGraph
+from .topydo_testcase import TopydoTest
+
class GraphTest(TopydoTest):
def setUp(self):
diff --git a/test/test_importance.py b/test/test_importance.py
index 7a488c6..dcd7cdc 100644
--- a/test/test_importance.py
+++ b/test/test_importance.py
@@ -16,7 +16,6 @@
import unittest
from datetime import date
-from test.topydo_testcase import TopydoTest
from freezegun import freeze_time
@@ -24,6 +23,8 @@ from topydo.lib.Config import config
from topydo.lib.Importance import importance
from topydo.lib.Todo import Todo
+from .topydo_testcase import TopydoTest
+
@freeze_time("2015, 11, 06")
class ImportanceTest(TopydoTest):
diff --git a/test/test_json_printer.py b/test/test_json_printer.py
index 61e5351..6954c9e 100644
--- a/test/test_json_printer.py
+++ b/test/test_json_printer.py
@@ -15,11 +15,12 @@
# along with this program. If not, see .
import unittest
-from test.topydo_testcase import TopydoTest
from topydo.lib.printers.Json import JsonPrinter
from topydo.lib.Todo import Todo
+from .topydo_testcase import TopydoTest
+
class JsonPrinterTest(TopydoTest):
"""
diff --git a/test/test_list_command.py b/test/test_list_command.py
index abca5f5..2c0229e 100644
--- a/test/test_list_command.py
+++ b/test/test_list_command.py
@@ -20,8 +20,6 @@ import re
import sys
import unittest
from collections import namedtuple
-from test.command_testcase import CommandTest
-from test.facilities import load_file_to_todolist
from freezegun import freeze_time
@@ -29,6 +27,9 @@ from topydo.commands.ListCommand import ListCommand
from topydo.lib.Config import config
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+from .facilities import load_file_to_todolist
+
# We're searching for 'mock'
# 'mock' was added as 'unittest.mock' in Python 3.3, but PyPy 3 is based on Python 3.2
# pylint: disable=no-name-in-module
diff --git a/test/test_list_context_command.py b/test/test_list_context_command.py
index b4b99b6..6530b4b 100644
--- a/test/test_list_context_command.py
+++ b/test/test_list_context_command.py
@@ -15,11 +15,12 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
-from test.facilities import load_file_to_todolist
from topydo.commands.ListContextCommand import ListContextCommand
+from .command_testcase import CommandTest
+from .facilities import load_file_to_todolist
+
class ListContextCommandTest(CommandTest):
def test_contexts1(self):
diff --git a/test/test_list_format.py b/test/test_list_format.py
index 0a2bbbd..2055803 100644
--- a/test/test_list_format.py
+++ b/test/test_list_format.py
@@ -16,8 +16,6 @@
import unittest
from collections import namedtuple
-from test.command_testcase import CommandTest
-from test.facilities import load_file_to_todolist
from freezegun import freeze_time
@@ -25,6 +23,9 @@ from topydo.commands.ListCommand import ListCommand
from topydo.lib.Config import config
from topydo.lib.TodoListBase import TodoListBase
+from .command_testcase import CommandTest
+from .facilities import load_file_to_todolist
+
# We're searching for 'mock'
# 'mock' was added as 'unittest.mock' in Python 3.3, but PyPy 3 is based on Python 3.2
# pylint: disable=no-name-in-module
diff --git a/test/test_list_project_command.py b/test/test_list_project_command.py
index 068643b..1268701 100644
--- a/test/test_list_project_command.py
+++ b/test/test_list_project_command.py
@@ -15,11 +15,12 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
-from test.facilities import load_file_to_todolist
from topydo.commands.ListProjectCommand import ListProjectCommand
+from .command_testcase import CommandTest
+from .facilities import load_file_to_todolist
+
class ListProjectCommandTest(CommandTest):
def test_projects1(self):
diff --git a/test/test_postpone_command.py b/test/test_postpone_command.py
index f2ba5c4..e51352f 100644
--- a/test/test_postpone_command.py
+++ b/test/test_postpone_command.py
@@ -16,11 +16,12 @@
import unittest
from datetime import date, timedelta
-from test.command_testcase import CommandTest
from topydo.commands.PostponeCommand import PostponeCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
class PostponeCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_priority_command.py b/test/test_priority_command.py
index df52d7a..53a9f91 100644
--- a/test/test_priority_command.py
+++ b/test/test_priority_command.py
@@ -15,11 +15,12 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
from topydo.commands.PriorityCommand import PriorityCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
class PriorityCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_progress_color.py b/test/test_progress_color.py
index 3fcc901..244e776 100644
--- a/test/test_progress_color.py
+++ b/test/test_progress_color.py
@@ -15,7 +15,6 @@
# along with this program. If not, see .
import unittest
-from test.topydo_testcase import TopydoTest
from freezegun import freeze_time
@@ -24,6 +23,8 @@ from topydo.lib.ProgressColor import progress_color
from topydo.lib.Todo import Todo
from topydo.lib.TodoList import TodoList
+from .topydo_testcase import TopydoTest
+
def set_256_colors():
config(p_overrides={('topydo', 'colors'): '256'})
diff --git a/test/test_recurrence.py b/test/test_recurrence.py
index 2b7d050..1eb1358 100644
--- a/test/test_recurrence.py
+++ b/test/test_recurrence.py
@@ -16,12 +16,13 @@
import unittest
from datetime import date, timedelta
-from test.topydo_testcase import TopydoTest
from topydo.lib.Config import config
from topydo.lib.Recurrence import NoRecurrenceException, advance_recurring_todo
from topydo.lib.Todo import Todo
+from .topydo_testcase import TopydoTest
+
class RecurrenceTest(TopydoTest):
def setUp(self):
diff --git a/test/test_relative_date.py b/test/test_relative_date.py
index df213b3..8ef9b8a 100644
--- a/test/test_relative_date.py
+++ b/test/test_relative_date.py
@@ -16,12 +16,13 @@
import unittest
from datetime import date
-from test.topydo_testcase import TopydoTest
from freezegun import freeze_time
from topydo.lib.RelativeDate import relative_date_to_date
+from .topydo_testcase import TopydoTest
+
@freeze_time('2015, 11, 06')
class RelativeDateTester(TopydoTest):
diff --git a/test/test_revert_command.py b/test/test_revert_command.py
index 2e87333..fb03670 100644
--- a/test/test_revert_command.py
+++ b/test/test_revert_command.py
@@ -19,7 +19,6 @@ import tempfile
import unittest
from datetime import date
from glob import glob
-from test.command_testcase import CommandTest
from uuid import uuid4
from topydo.commands.AddCommand import AddCommand
@@ -32,6 +31,8 @@ from topydo.lib.Config import config
from topydo.lib.TodoFile import TodoFile
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
class RevertCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_sort_command.py b/test/test_sort_command.py
index 3d5ef9a..b1ffa0d 100644
--- a/test/test_sort_command.py
+++ b/test/test_sort_command.py
@@ -15,12 +15,13 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
-from test.facilities import load_file_to_todolist
from topydo.commands.SortCommand import SortCommand
from topydo.lib.Config import config
+from .command_testcase import CommandTest
+from .facilities import load_file_to_todolist
+
class SortCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_sorter.py b/test/test_sorter.py
index 48ad035..998ab27 100644
--- a/test/test_sorter.py
+++ b/test/test_sorter.py
@@ -15,15 +15,16 @@
# along with this program. If not, see .
import unittest
-from test.facilities import (load_file, load_file_to_todolist, print_view,
- todolist_to_string)
-from test.topydo_testcase import TopydoTest
from freezegun import freeze_time
from topydo.lib.Config import config
from topydo.lib.Sorter import Sorter
+from .facilities import (load_file, load_file_to_todolist, print_view,
+ todolist_to_string)
+from .topydo_testcase import TopydoTest
+
@freeze_time("2016, 04, 25")
class SorterTest(TopydoTest):
diff --git a/test/test_tag_command.py b/test/test_tag_command.py
index 2f010bc..3421846 100644
--- a/test/test_tag_command.py
+++ b/test/test_tag_command.py
@@ -15,13 +15,14 @@
# along with this program. If not, see .
import unittest
-from test.command_testcase import CommandTest
from freezegun import freeze_time
from topydo.commands.TagCommand import TagCommand
from topydo.lib.TodoList import TodoList
+from .command_testcase import CommandTest
+
class TagCommandTest(CommandTest):
def setUp(self):
diff --git a/test/test_todo.py b/test/test_todo.py
index 9f44ea8..2ded67b 100644
--- a/test/test_todo.py
+++ b/test/test_todo.py
@@ -16,10 +16,11 @@
import unittest
from datetime import date, timedelta
-from test.topydo_testcase import TopydoTest
from topydo.lib.Todo import Todo
+from .topydo_testcase import TopydoTest
+
def today_date():
today = date.today()
diff --git a/test/test_todo_base.py b/test/test_todo_base.py
index 2c1aa86..ec45ad3 100644
--- a/test/test_todo_base.py
+++ b/test/test_todo_base.py
@@ -19,10 +19,11 @@
import re
import unittest
from datetime import date, timedelta
-from test.topydo_testcase import TopydoTest
from topydo.lib.TodoBase import TodoBase
+from .topydo_testcase import TopydoTest
+
class TodoBaseTester(TopydoTest):
def test_parse_tag(self):
diff --git a/test/test_todo_file.py b/test/test_todo_file.py
index 8599476..b308f31 100644
--- a/test/test_todo_file.py
+++ b/test/test_todo_file.py
@@ -15,8 +15,9 @@
# along with this program. If not, see .
import unittest
-from test.facilities import load_file
-from test.topydo_testcase import TopydoTest
+
+from .facilities import load_file
+from .topydo_testcase import TopydoTest
class TodoFileTest(TopydoTest):
diff --git a/test/test_todo_list.py b/test/test_todo_list.py
index 2e4d0e8..ea6ec68 100644
--- a/test/test_todo_list.py
+++ b/test/test_todo_list.py
@@ -18,7 +18,6 @@
import re
import unittest
-from test.topydo_testcase import TopydoTest
from topydo.lib.Config import config
from topydo.lib.Todo import Todo
@@ -26,6 +25,8 @@ from topydo.lib.TodoFile import TodoFile
from topydo.lib.TodoList import TodoList
from topydo.lib.TodoListBase import InvalidTodoException, TodoListBase
+from .topydo_testcase import TopydoTest
+
class TodoListTester(TopydoTest):
def setUp(self):
diff --git a/test/test_utils.py b/test/test_utils.py
index f464094..be35f8b 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -15,10 +15,11 @@
# along with this program. If not, see .
import unittest
-from test.topydo_testcase import TopydoTest
from topydo.lib.Utils import translate_key_to_config
+from .topydo_testcase import TopydoTest
+
class UtilsTest(TopydoTest):
def test_key_to_cfg(self):
diff --git a/test/test_view.py b/test/test_view.py
index a44a3c3..fe4210d 100644
--- a/test/test_view.py
+++ b/test/test_view.py
@@ -15,14 +15,15 @@
# along with this program. If not, see .
import unittest
-from test.facilities import load_file, print_view, todolist_to_string
-from test.topydo_testcase import TopydoTest
from topydo.lib import Filter
from topydo.lib.Sorter import Sorter
from topydo.lib.TodoFile import TodoFile
from topydo.lib.TodoList import TodoList
+from .facilities import load_file, print_view, todolist_to_string
+from .topydo_testcase import TopydoTest
+
class ViewTest(TopydoTest):
def test_view(self):