Commit a72ffb97 authored by Bram Schoenmakers's avatar Bram Schoenmakers

Add tests for Todo class.

parent efff0cb3
import datetime
import unittest
import Todo
def today_date():
date = datetime.date.today()
return date.isoformat()
def tomorrow_date():
date = datetime.date.today() + datetime.timedelta(days=1)
return date.isoformat()
class TodoTest(unittest.TestCase):
def test_due_date1(self):
todo = Todo.Todo("(C) Foo due:2014-06-09")
date = datetime.date(2014, 6, 9)
self.assertEqual(todo.due_date(), date)
def test_false_date(self):
todo = Todo.Todo("(C) Foo due:2014-04-31")
self.assertEqual( todo.due_date(), None )
def test_active1(self):
todo = Todo.Todo("(C) Foo due:2014-01-01")
self.assertTrue(todo.is_active())
def test_active2(self):
todo = Todo.Todo("(C) Foo t:" + tomorrow_date())
self.assertFalse(todo.is_active())
def test_active3(self):
todo = Todo.Todo("x 2014-06-09 Foo t:2014-01-01")
self.assertFalse(todo.is_active())
def test_active4(self):
todo = Todo.Todo("(C) Foo t:" + today_date())
self.assertTrue(todo.is_active())
def test_active5(self):
todo = Todo.Todo("(C) Foo t:2014-02-29")
self.assertTrue(todo.is_active())
def test_overdue1(self):
todo = Todo.Todo("(C) Foo due:2014-01-01")
self.assertTrue(todo.is_overdue())
def test_overdue2(self):
todo = Todo.Todo("(C) Foo due:" + tomorrow_date())
self.assertFalse(todo.is_overdue())
def test_overdue3(self):
todo = Todo.Todo("(C) Foo due:" + today_date())
self.assertFalse(todo.is_overdue())
def days_till_due(self):
todo = Todo.Todo("(C) due:" + tomorrow_date())
self.assertEqual(todo.days_till_due(), 1)
def test_length1(self):
todo = Todo.Todo("(C) Foo t:2014-01-01 due:2013-12-31")
self.assertEqual(todo.length(), 0)
def test_length2(self):
todo = Todo.Todo("(C) Foo t:2014-01-01 due:2014-01-01")
self.assertEqual(todo.length(), 0)
def test_length3(self):
todo = Todo.Todo("(C) Foo t:2014-01-01 due:2014-01-02")
self.assertEqual(todo.length(), 1)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment