def test_save_task_write_mode(self): # mode: write expected_tasks = [ Task(status=TaskStatus.TODO, name='task1'), Task(status=TaskStatus.TODO, name='task1') ] expected_result = [ f"{i},{task.status},{task.name}\n" for i, task in enumerate(expected_tasks) ] TaskManager(self.file_name)._save(tasks=expected_tasks) with open(self.file_name, 'r') as f: self.assertEqual(f.readlines(), expected_result) # mode: append additional_tasks = [ Task(status=TaskStatus.TODO, name='task1'), Task(status=TaskStatus.TODO, name='task2') ] additional_expected_result = [ f"{i},{task.status},{task.name}\n" for i, task in enumerate(expected_tasks + additional_tasks) ] TaskManager(self.file_name)._save(tasks=additional_tasks, is_append=True) # save_task(tasks=additional_tasks, is_append=True, file_name=self.file_name) with open(self.file_name, 'r') as f: self.assertEqual(f.readlines(), additional_expected_result)
def setUp(self): self.task = Task("id0", 2, "%Y-%m-%d %H:%M:%S") header = "ip,date,time,zone,cik,accession,extention,code,size,idx,norefer,noagent,find,crawler,browser".split( ",") line = "101.81.133.jja,2017-06-30,00:00:00,0.0,1608552.0,0001047469-17-004337,-index.htm,200.0,80251.0,1.0,0.0,0.0,9.0,0.0,".split( ",") self.message = dict(zip(header, line))
def test_get_last_index_from_tasks(self): tm = TaskManager(self.file_name) LAST_INDEX_NUMBER = 10 tasks = [ Task(status=TaskStatus.TODO, name='task1', index=LAST_INDEX_NUMBER), Task(status=TaskStatus.TODO, name='task2', index=5) ] tm.tasks = tasks self.assertEqual(tm._get_last_index_from_task(), LAST_INDEX_NUMBER)
def test_list_task(self): expected_tasks = [ Task(status=TaskStatus.TODO, name='task one', index=0), Task(status=TaskStatus.TODO, name='task two', index=1), Task(status=TaskStatus.TODO, name='task three', index=2), ] tm = TaskManager(self.file_name) input_tasks = ['task one', 'task two', 'task three'] for task in input_tasks: tm.add(task) tm.save() actual_tasks = tm.load() self.assertEqual(expected_tasks, actual_tasks)
def test_remove_task(self): tasks = [ Task(status=TaskStatus.TODO, name='task1'), Task(status=TaskStatus.TODO, name='task2') ] tm = TaskManager(self.file_name) # tm._save(tasks) for task in tasks: tm.add(task) tm.save() tm.remove(0) indexed_task = tm.load() self.assertEqual(len(indexed_task), 1) self.assertEqual(indexed_task[0].name, 'task2')
class TestTask(unittest.TestCase): """Test unit operations of the Task class.""" def setUp(self): self.task = Task("id0", 2, "%Y-%m-%d %H:%M:%S") header = "ip,date,time,zone,cik,accession,extention,code,size,idx,norefer,noagent,find,crawler,browser".split( ",") line = "101.81.133.jja,2017-06-30,00:00:00,0.0,1608552.0,0001047469-17-004337,-index.htm,200.0,80251.0,1.0,0.0,0.0,9.0,0.0,".split( ",") self.message = dict(zip(header, line)) def test_clean(self): """Test :func:`Task.clean`.""" self.assertDictEqual( self.task.clean(self.message), { 'accession': '0001047469-17-004337', 'browser': '', 'cik': '1608552.0', 'code': '200.0', 'crawler': '0.0', 'date': '2017-06-30', 'datetime': datetime(2017, 6, 30, 0, 0), 'extention': '-index.htm', 'find': '9.0', 'idx': '1.0', 'ip': '101.81.133.jja', 'noagent': '0.0', 'norefer': '0.0', 'size': '80251.0', 'time': '00:00:00', 'zone': '0.0' }) def test_add(self): """Test :func:`Task.add`.""" self.assertEqual(len(self.task), 0) self.task.add(self.message) self.assertEqual(len(self.task), 1) def test_flush(self): """Test :func:`Task.flush`.""" self.task.messages = deque() self.task.add(self.message) self.assertEqual(len(self.task), 1) entry = self.task.flush(datetime.max) self.assertIsInstance(entry, deque) self.assertEqual(len(self.task), 0)
def setUp(self): db.init_app(self.app) db.create_all() db.session.add(Task(name="have breakfast", status=0)) db.session.add(Task(name="have lunch", status=0)) db.session.commit()
from main import db, Task, User db.drop_all() # create new tables within db db.create_all() feng = User('*****@*****.**','cheese') task1 = Task('finish ORM lesson 2', feng) db.session.add(feng) db.session.add(task1) chris = User('*****@*****.**', '123') task2 = Task('post lesson video', chris) db.session.add(chris) db.session.add(task2) db.session.commit() tasks = Task.query.all() users = User.query.all() tasks[0].name users[0].tasks[0].name
def run(self): for i in range(10): task = Task(title=fake.job(), content=fake.sentence(10)) self.db.session.add(task)
from main import Person, Task user1 = Person("Bruce", "Wayne") task1 = Task("become the Batman", "7 years", "2005") task2 = Task("defeat the Joker", "1 month", "2008") task3 = Task("to retire", "1 year", "2012") # add all tasks: user1.add_new_task(task1) user1.add_new_task(task2) user1.add_new_task(task3) print(user1.task_list) #finish task1: user1.complete_current_task(task1) print(user1.task_list) print(user1.completes_numbers()) print(user1.uncompletes_tasks()) user1.clear_tasks()