def test_report_moreThanADayWorking(self): logs = LogBuilder().start("09:00", "2020/04/10").end("18:00", "2020/04/11").build() with self.assertRaises(ValueError) as context: logAnalyzer.Report(logs).report() self.assertTrue('Time account exceeds a day' in str(context.exception))
def test_report_longDayWorking(self): logs = LogBuilder().start("09:00", "2020/04/10").end("08:00", "2020/04/11").build() report = ReportBuilder().start("09:00").end("08:00").total( "23:00").working("23:00").resting("00:00").build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_report_severalSessionsWithPausesSameDay(self): logs = LogBuilder().start().pause( "10:00", "10:30").end("10:35").start("11:05").pause("11:10", "11:40").end().build() report = ReportBuilder().working("08:00").resting("01:30").build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_report_severalPauses(self): logs = LogBuilder().start().pause("10:00", "10:30").pause( "13:15", "13:45").end().build() report = ReportBuilder().working("08:30").resting("01:00").build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_report_noPauses(self): logs = LogBuilder().start().end().build() report = ReportBuilder().working("09:30").resting("00:00").build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_report_isEmptyInput(self): self.assertEqual( logAnalyzer.Report([]).report(), "{}", "Should be empty json string")
def test_report_workingLessThanAMinute(self): logs = LogBuilder().start().pause("13:00", "13:30").pause( "13:30", "14:00").end().build() report = ReportBuilder().build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_checkCurrentDayWithPause(self, now_function): logs = LogBuilder().start().pause("13:00", "14:00").build() report = ReportBuilder().build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_checkCurrentDay(self, now_function): logs = LogBuilder().start().build() report = ReportBuilder().working("09:30").resting("00:00").build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_report_allDayWorkingWithPauseWithACrashWhileResting(self): logs = LogBuilder().start().newLine( "11:00", "Lock").start("12:00").end().build() report = ReportBuilder().working("08:30").resting("01:00").build() self.assertEqual(logAnalyzer.Report(logs).report(), report)
def test_report_allDayWorkingWithACrashWhileWorking(self): logs = LogBuilder().start().start("11:00").end().build() report = ReportBuilder().working("09:30").resting("00:00").build() self.assertEqual(logAnalyzer.Report(logs).report(), report)