def test_todo_list_instantiation(self):
     test_list = todo_list.ToDoList('Test List', 'Test description',
                                    todo_item.ToDoItem('to do item 1'))
     self.assertEqual(
         type(
             todo_list.ToDoList('', '',
                                [todo_item.ToDoItem('to do item 1')])),
         type(test_list))
 def test_adding_of_item_with_non_boolean_complete(self):
     test_list = todo_list.ToDoList('My List',
                                    'A list containing test to do items',
                                    [todo_item.ToDoItem('to do item 1')])
     test_list.add_todo('Test to do item', 23)
     self.assertEqual(test_list.todo_items[-1].complete, False)
 def test_finish_item_out_of_range_index(self):
     test_list = todo_list.ToDoList('My List',
                                    'A list containing test to do items',
                                    [todo_item.ToDoItem('to do item 1')])
     self.assertEqual(test_list.finish_item(5),
                      'That to do item does not exist')
 def test_adding_of_item_with_none_string_content(self):
     test_list = todo_list.ToDoList('My List',
                                    'A list containing test to do items',
                                    [todo_item.ToDoItem('to do item 1')])
     self.assertEqual(test_list.add_todo(23), 'Enter valid content')
 def test_todo_list_items_attribute_type(self):
     test_list = todo_list.ToDoList('My List',
                                    'A list containing test to do items',
                                    [todo_item.ToDoItem('to do item 1')])
     self.assertEqual(type(test_list.todo_items[0]),
                      type(todo_item.ToDoItem('')))
 def test_todo_list_with_non_string_description(self):
     test_list = todo_list.ToDoList('My List', 22,
                                    ['to do item 1', 'to do item 2'])
     self.assertEqual(test_list.description, 'Enter valid description')
 def test_todo_list_with_non_string_name(self):
     test_list = todo_list.ToDoList(12,
                                    'A list containing test to do items',
                                    ['to do item 1', 'to do item 2'])
     self.assertEqual(test_list.name, 'Enter valid name')
	quit
"""
import os
import sys
import cmd
from termcolor import cprint, colored
from pyfiglet import figlet_format
from docopt import docopt, DocoptExit
import todo_item
import todo_list

if __name__ == '__main__':
    arguments = docopt(__doc__, sys.argv[1:], version='crollo 1.0.1')

    if arguments['create_todo']:
        mylist = todo_list.ToDoList(arguments['<name>'],
                                    arguments['<description>'])
        mylist.save_list()
        cprint('list added', 'green')
        cprint('1st item added by default', 'green')

    if arguments['delete_todo']:
        mylist = todo_list.ToDoList(arguments['<name>'])
        mylist.delete_list()

    if arguments['list'] and arguments['todos']:
        for todo in todo_list.ToDoList('').get_todos():
            print("{0} || {1}:".format(todo[0], todo[1]))
            print('=' * 90)
            for item in todo_item.ToDoItem().get_items(todo[0]):
                if item[1] == 1:
                    color = 'green'