/ test_project.py
test_project.py
1 import project 2 import datetime 3 from unittest.mock import patch 4 import tabulate 5 import os 6 import csv 7 from itertools import cycle 8 9 hdate = datetime.date.today() 10 11 def test_tod(): 12 assert project.tod(['Wednesday'], datetime.date(2024,3,27)) == True 13 assert project.tod(['Wednesday'], datetime.date(2024,3,28)) == False 14 assert project.tod(['Monday', 'Wednesday'], datetime.date(2024,3,27)) == True 15 assert project.tod(['Monday', 'Wednesday'], datetime.date(2024,3,28)) == False 16 17 def test_createcsv(): 18 project.createcsv('test.csv') 19 assert os.path.exists('test.csv') == True 20 21 def test_create(): 22 with patch('builtins.input', side_effect=cycle(['test','7','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'])): 23 project.create('test.csv') 24 with open('test.csv', 'r') as f: 25 reader = list(csv.reader(f)) 26 assert reader == [['test', "['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']", hdate.isoformat(), '0']] 27 28 def test_log(): 29 with patch('builtins.input', side_effect=cycle(['test'])): 30 project.log('test.csv') 31 with open('test.csv', 'r') as f: 32 reader = list(csv.reader(f)) 33 assert reader == [['test', "['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']", hdate.isoformat(), '1']] 34 35 36 def test_view(): 37 assert project.view('test.csv') == tabulate.tabulate([['test', "['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']", hdate.isoformat(), '1']], headers=project.FIELDS, tablefmt='fancy_grid')