def test_convert_comma_to_points_for_double_columns(self): file_data = [['obsid', 'date_time', 'reading'], ['obs1,1', '2017-04-12 11:03', '123,456']] #(6, 'comment', 'text', 0, None, 0) tables_columns = ((0, 'obsid', 'text', 0, None, 0), (1, 'reading', 'double', 0, None, 0)) test_string = utils.anything_to_string_representation(GeneralCsvImportGui.convert_comma_to_points_for_double_columns(file_data, tables_columns)) reference = '[["obsid", "date_time", "reading"], ["obs1,1", "2017-04-12 11:03", "123.456"]]' assert test_string == reference
def _test(self, filename, mock_filename, mock_skippopup, mock_encoding, mock_iface, mock_askuser): mock_filename.return_value = filename mock_encoding.return_value = [u'utf-8', True] def side_effect(*args, **kwargs): mock_result = mock.MagicMock() if u'msg' in kwargs: if kwargs[u'msg'].startswith(u'Does the file contain a header?'): mock_result.result = 1 return mock_result if len(args) > 1: if args[1].startswith(u'Do you want to confirm'): mock_result.result = 0 return mock_result #mock_askuser.return_value.result.return_value = 0 elif args[1].startswith(u'Do you want to import all'): mock_result.result = 0 return mock_result elif args[1].startswith(u'Please note!\nForeign keys'): mock_result.result = 1 return mock_result elif args[1].startswith(u'Please note!\nThere are'): mock_result.result = 1 return mock_result elif args[1].startswith(u'It is a strong recommendation'): mock_result.result = 0 return mock_result mock_askuser.side_effect = side_effect ms = MagicMock() ms.settingsdict = OrderedDict() importer = GeneralCsvImportGui(self.iface.mainWindow(), ms) importer.load_gui() importer.load_files() importer.table_chooser.import_method = u'w_levels' for column in importer.table_chooser.columns: names = {u'obsid': u'obsid', u'date_time': u'date_time', u'meas': u'meas'} if column.db_column in names: column.file_column_name = names[column.db_column] import_time = timeit.timeit(importer.start_import, number=1) return import_time
def test_translate_and_reorder_file_data(self): file_data = [['obsid', 'acol', 'acol2'], ['rb1', '1', '2']] translation_dict = {'obsid': ['obsid'], 'acol': ['num', 'txt'], 'acol2': ['comment']} test_string = utils_for_tests.create_test_string(GeneralCsvImportGui.translate_and_reorder_file_data(file_data, translation_dict)) reference_string = '[[num, txt, comment, obsid], [1, 1, 2, rb1]]' assert test_string == reference_string
def test_convert_comma_to_points_for_double_columns(self): file_data = [['obsid', 'date_time', 'reading'], ['obs1,1', '2017-04-12 11:03', '123,456']] #(6, 'comment', 'text', 0, None, 0) tables_columns = ((0, 'obsid', 'text', 0, None, 0), (1, 'reading', 'double', 0, None, 0)) test_string = utils.anything_to_string_representation( GeneralCsvImportGui.convert_comma_to_points_for_double_columns( file_data, tables_columns)) reference = '[["obsid", "date_time", "reading"], ["obs1,1", "2017-04-12 11:03", "123.456"]]' assert test_string == reference
def test_translate_and_reorder_file_data(self): file_data = [['obsid', 'acol', 'acol2'], ['rb1', '1', '2']] translation_dict = { 'obsid': ['obsid'], 'acol': ['num', 'txt'], 'acol2': ['comment'] } test_string = utils_for_tests.create_test_string( GeneralCsvImportGui.translate_and_reorder_file_data( file_data, translation_dict)) reference_string = '[[num, txt, comment, obsid], [1, 1, 2, rb1]]' assert test_string == reference_string
def _test(filename, mock_iface): delimiter = GeneralCsvImportGui.get_delimiter(filename, u'utf-8') assert call.messageBar().createMessage(u'File error, delimiter not found, see log message panel') not in mock_iface.mock_calls assert delimiter == u','