def test_consistent_formatting(self): task = RangeDailyBase(of='CommonDateTask', start=datetime.date(2016, 1, 1)) self.assertEqual( task._format_range([ datetime.datetime(2016, 1, 2, 13), datetime.datetime(2016, 2, 29, 23) ]), '[2016-01-02, 2016-02-29]')
def test_param_name(self): class MyTask(luigi.Task): some_non_range_param = luigi.Parameter(default='woo') date_param = luigi.DateParameter() def complete(self): return False range_task = RangeDailyBase(now=datetime_to_epoch(datetime.datetime(2015, 12, 2)), of=MyTask, start=datetime.date(2015, 12, 1), stop=datetime.date(2015, 12, 2), param_name='date_param') expected_task = MyTask('woo', datetime.date(2015, 12, 1)) self.assertEqual(expected_task, list(range_task._requires())[0])
def test_old_instantiation(self): """ Verify that you can still programatically set of param as string """ class MyTask(luigi.Task): date_param = luigi.DateParameter() def complete(self): return False range_task = RangeDailyBase(now=datetime_to_epoch(datetime.datetime(2015, 12, 2)), of=MyTask, start=datetime.date(2015, 12, 1), stop=datetime.date(2015, 12, 2)) expected_task = MyTask(date_param=datetime.date(2015, 12, 1)) self.assertEqual(expected_task, list(range_task._requires())[0])
def test_consistent_formatting(self): task = RangeDailyBase(of=CommonDateTask, start=datetime.date(2016, 1, 1)) self.assertEqual(task._format_range([datetime.datetime(2016, 1, 2, 13), datetime.datetime(2016, 2, 29, 23)]), '[2016-01-02, 2016-02-29]')