def test_no_date_no_time(self): callback = Mock() editor = TimeVariableEditor(self.parent, TimeVariable("var"), callback) self.assertEqual(editor.value, 0) self.assertEqual(self.editor._edit.dateTime(), QDateTime(QDate(1970, 1, 1), QTime(0, 0, 0))) self.callback.assert_not_called() datetime = QDateTime(QDate(2001, 9, 9), QTime(1, 2, 3)) editor._edit.setDateTime(datetime) self.assertEqual(editor._edit.dateTime(), datetime) self.assertEqual(editor.value, 999993600 + 3723) callback.assert_called_once()
def test_edit(self): """ Edit datetimeedit by user. """ datetime = QDateTime(QDate(2001, 9, 9)) self.editor._edit.setDateTime(datetime) self.assertEqual(self.editor.value, 999993600) self.assertEqual(self.editor._edit.dateTime(), datetime) self.callback.assert_called_once()
def test_set_value(self): """ Programmatically set datetimeedit value. """ value = 999993600 self.editor.value = value self.assertEqual(self.editor._edit.dateTime(), QDateTime(QDate(2001, 9, 9))) self.assertEqual(self.editor.value, value) self.callback.assert_called_once()
def test_have_time(self): callback = Mock() editor = TimeVariableEditor(self.parent, TimeVariable("var", have_time=1), callback) self.assertEqual(editor.value, 0) self.assertEqual(self.editor._edit.dateTime(), _datetime(1970, 1, 1)) self.callback.assert_not_called() datetime = QDateTime(QDate(1900, 1, 1), QTime(1, 2, 3)) editor._edit.setDateTime(datetime) self.assertEqual(editor._edit.dateTime(), datetime) self.assertEqual(editor.value, 3723) callback.assert_called_once()
def test_set_datetime(self): c = gui.DateTimeEditWCalendarTime(None) # default time (now) c.set_datetime() self.assertLessEqual( abs(c.dateTime().toSecsSinceEpoch() - time.time()), 2) # some date poeh = QDateTime(QDate(1961, 4, 12), QTime(6, 7)) c.set_datetime(poeh) self.assertEqual(c.dateTime(), poeh) # set a different time ali = QTime(8, 5) c.set_datetime(ali) poeh.setTime(ali) self.assertEqual(c.dateTime(), poeh)
def test_calendar_dates(self): data = Table(test_filename("datasets/cyber-security-breaches.tab")) self.send_signal(self.widget.Inputs.data, data) simulate.combobox_activate_item(self.widget.cond_list.cellWidget(0, 0), "Date_Posted_or_Updated", delay=0) value_combo = self.widget.cond_list.cellWidget(0, 2).children()[1] self.assertIsInstance(value_combo, DateTimeWidget) # first displayed date is min date self.assertEqual(value_combo.date(), QDate(2014, 1, 23)) self.assertEqual(len(self.get_output("Matching Data")), 691) self.widget.remove_all_button.click() self.enterFilter("Date_Posted_or_Updated", "is below", QDate(2014, 4, 17)) self.assertEqual(len(self.get_output("Matching Data")), 840) self.enterFilter("Date_Posted_or_Updated", "is greater than", QDate(2014, 6, 30)) self.assertIsNone(self.get_output("Matching Data")) self.widget.remove_all_button.click() # date is in range min-max date self.enterFilter("Date_Posted_or_Updated", "equals", QDate(2013, 1, 1)) self.assertEqual(self.widget.conditions[0][2][0], QDate(2014, 1, 23)) self.enterFilter("Date_Posted_or_Updated", "equals", QDate(2015, 1, 1)) self.assertEqual(self.widget.conditions[1][2][0], QDate(2014, 6, 30)) self.widget.remove_all_button.click() # no date crossings self.enterFilter("Date_Posted_or_Updated", "is between", QDate(2014, 4, 17), QDate(2014, 1, 23)) self.assertEqual(self.widget.conditions[0][2], (QDate(2014, 4, 17), QDate(2014, 4, 17))) self.widget.remove_all_button.click() self.enterFilter("Date_Posted_or_Updated", "is between", QDate(2014, 4, 17), QDate(2014, 4, 30)) self.assertEqual(len(self.get_output("Matching Data")), 58)
FilterString.Outside: ["aardwark"], FilterString.Contains: ["aa"], FilterString.StartsWith: ["aa"], FilterString.EndsWith: ["ark"], FilterString.IsDefined: [] } DFValues = { FilterDiscreteType.Equal: [0], FilterDiscreteType.NotEqual: [0], FilterDiscreteType.In: [0, 1], FilterDiscreteType.IsDefined: [], } TFValues = { FilterContinuous.Equal: [QDate(2013, 5, 5)], FilterContinuous.NotEqual: [QDate(2013, 5, 5)], FilterContinuous.Less: [QDate(2013, 5, 5)], FilterContinuous.LessEqual: [QDate(2013, 5, 5)], FilterContinuous.Greater: [QDate(2013, 5, 5)], FilterContinuous.GreaterEqual: [QDate(2013, 5, 5)], FilterContinuous.Between: [QDate(2013, 5, 5), QDate(2015, 5, 5)], FilterContinuous.Outside: [QDate(2013, 5, 5), QDate(2015, 5, 5)], FilterContinuous.IsDefined: [], } class TestOWSelectRows(WidgetTest): def setUp(self):
def _datetime(y, m, d) -> QDateTime: return QDateTime(QDate(y, m, d), QTime(0, 0))
def test_init(self): self.assertEqual(self.editor.value, 0) self.assertEqual(self.editor._edit.dateTime(), QDateTime(QDate(1970, 1, 1))) self.callback.assert_not_called()