def test_clear_project_data(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.survey_label = "test" self.assertTrue(len(prj.survey_label) != 0) prj.clear_data() self.assertEqual(len(prj.s57_list), 0) self.assertEqual(len(prj.ss_list), 0) self.assertEqual(len(prj.survey_label), 0)
def test_outputs(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.output_shp = True self.assertTrue(prj.output_shp) prj.output_kml = True self.assertTrue(prj.output_kml) prj.output_svp = True self.assertTrue(prj.output_svp)
def test_grid_read(self): prj = ChartProject(output_folder=testing.output_data_folder()) self.assertTrue(prj.cur_grid is None) self.assertFalse(prj.has_grid()) with self.assertRaises(RuntimeError): _ = prj.cur_grid_basename prj.add_to_grid_list(testing.input_test_files(".bag")[0]) prj.set_cur_grid(testing.input_test_files(".bag")[0]) prj.open_to_read_cur_grid() self.assertTrue(prj.cur_grid is not None) self.assertTrue(prj.has_grid()) self.assertGreater(len(prj.cur_grid_basename), 0)
def test_select_layers_in_cur_grid(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.add_to_grid_list(testing.input_test_files(".bag")[0]) prj.set_cur_grid(testing.input_test_files(".bag")[0]) prj.open_to_read_cur_grid() self.assertEqual(len(prj.selected_layers_in_cur_grid), 0) prj.selected_layers_in_cur_grid = [ layer_types['depth'], ] self.assertEqual(len(prj.selected_layers_in_cur_grid), 1)
def test_cur_grid_shape(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.add_to_grid_list(testing.input_test_files(".bag")[0]) prj.set_cur_grid(testing.input_test_files(".bag")[0]) prj.open_to_read_cur_grid() self.assertEquals(prj.cur_grid_shape[0], 0) self.assertEquals(prj.cur_grid_shape[1], 0)
def test_s57_list_add_real(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.add_to_s57_list(testing.input_test_files(".000")[0]) self.assertEqual(len(prj.s57_list), 1) prj.add_to_s57_list(testing.input_test_files(".000")[0]) self.assertEqual(len(prj.s57_list), 1) prj.remove_from_s57_list(testing.input_test_files(".000")[0]) self.assertEqual(len(prj.s57_list), 0)
def test_make_project_survey_label(self): prj = ChartProject(output_folder=None) prj.add_to_s57_list(testing.input_test_files(".000")[-1]) prj.read_feature_file(testing.input_test_files(".000")[-1]) self.assertTrue(len(prj.survey_label) != 0) self.assertTrue(len(prj.survey_label) == 6) self.assertEqual(prj.survey_label, "tiny__")
def test_s57_read(self): prj = ChartProject(output_folder=testing.output_data_folder()) self.assertTrue(prj.cur_s57 is None) self.assertFalse(prj.has_s57()) self.assertEqual(len(prj.cur_s57_basename), 0) prj.read_feature_file(testing.input_test_files(".000")[0]) self.assertTrue(prj.cur_s57 is not None) self.assertTrue(prj.has_s57()) self.assertGreater(len(prj.cur_s57_basename), 0)
def test_s57_list(self): prj = ChartProject(output_folder=testing.output_data_folder()) self.assertEqual(len(prj.s57_list), 0)
def test_make_project_survey_label_from_path(self): prj = ChartProject(output_folder=None) survey_label = prj.make_survey_label_from_path("fake/H012345") self.assertTrue(len(survey_label) != 0) self.assertTrue(len(survey_label) == 6) self.assertEqual(survey_label, "H01234")
from hyo2.qc.common import default_logging import logging from hyo2.qc.chart.project import ChartProject from hyo2.qc.common.grid_callback.cli_grid_callback import CliGridCallback from hyo2.qc.common import testing default_logging.load() logger = logging.getLogger() prj = ChartProject(output_folder=testing.output_data_folder()) prj.set_callback(CliGridCallback()) input_bag_file = testing.input_test_files('.bag')[1] logger.debug('input: %s' % input_bag_file) prj.add_to_grid_list(input_bag_file) prj.grid_xyz(version=1, geographic=True) logger.debug(prj)
def test_init_project_survey_label(self): prj = ChartProject(output_folder=None) self.assertTrue(len(prj.survey_label) == 0)
from hyo2.qc.common import default_logging import logging default_logging.load() logger = logging.getLogger() from hyo2.qc.chart.project import ChartProject from hyo2.qc.common import testing from PySide import QtGui from hyo2.qc.qctools.qt_progress import QtProgress app = QtGui.QApplication([]) wid = QtGui.QWidget() prj = ChartProject(output_folder=testing.output_data_folder(), progress=QtProgress(parent=wid)) # add S57 files s57_files = testing.input_test_files(".000") logger.info("S57 files: %d" % len(s57_files)) for s57_file in s57_files: if "SS" in s57_file: prj.add_to_ss_list(s57_file) elif "CS" in s57_file: pass else: prj.add_to_s57_list(s57_file) prj.feature_scan(version=3, specs_version='2016')
def test_init_project_valid_profile(self): prj = ChartProject(output_folder=testing.output_data_folder()) self.assertTrue( prj.active_profile in ChartProject.project_profiles.values())
def test_init_project_field_profile(self): prj = ChartProject(output_folder=testing.output_data_folder(), profile=ChartProject.project_profiles['field']) self.assertEqual(prj.active_profile, ChartProject.project_profiles['field'])
def test_init_project_none_folder(self): prj = ChartProject(output_folder=None) self.assertTrue(os.path.exists(prj.output_folder))
from hyo2.qc.common import default_logging import logging from hyo2.qc.chart.project import ChartProject from hyo2.qc.common.grid_callback.cli_grid_callback import CliGridCallback from hyo2.qc.common import testing default_logging.load() logger = logging.getLogger() prj = ChartProject(output_folder=testing.output_data_folder()) prj.set_callback(CliGridCallback()) input_bag_file = testing.input_test_files('.bag')[1] logger.debug('input: %s' % input_bag_file) prj.add_to_grid_list(input_bag_file) geographic = False elevation = False truncate = False decimal_places = 0 epsg_code = 4326 order = 'xyz' prj.grid_xyz(version=2, geographic=geographic, elevation=elevation, truncate=truncate, decimal_places=decimal_places, epsg_code=epsg_code, order=order)
def test_output_folder(self): prj = ChartProject(output_folder=testing.output_data_folder()) with self.assertRaises(RuntimeError): prj.output_folder = "C:/invalid/path/to/folder"
def test_s57_list_add_fake(self): prj = ChartProject(output_folder=testing.output_data_folder()) with self.assertRaises(RuntimeError): prj.add_to_s57_list("fake/fake.000")
def __init__(self, main_win): AbstractWidget.__init__(self, main_win=main_win) self.prj = ChartProject(progress=QtProgress(parent=self)) self.prj.set_callback(QtGridCallback(progress=self.prj.progress)) # init default settings settings = QtCore.QSettings() # - import import_folder = settings.value("chart_import_folder") if (import_folder is None) or (not os.path.exists(import_folder)): settings.setValue("chart_import_folder", self.prj.output_folder) # - output folder export_folder = settings.value("chart_export_folder") if (export_folder is None) or (not os.path.exists(export_folder)): settings.setValue("chart_export_folder", self.prj.output_folder) else: # folder exists self.prj.output_folder = export_folder # - shp export_shp = settings.value("chart_export_shp") if export_shp is None: settings.setValue("chart_export_shp", self.prj.output_shp) else: # exists self.prj.output_shp = (export_shp == "true") # - kml export_kml = settings.value("chart_export_kml") if export_kml is None: settings.setValue("chart_export_kml", self.prj.output_kml) else: # exists self.prj.output_kml = (export_kml == "true") # - subfolders export_subfolders = settings.value("chart_export_subfolders") if export_subfolders is None: settings.setValue("chart_export_subfolders", self.prj.output_subfolders) else: # exists self.prj.output_subfolders = (export_subfolders == "true") # - project folder export_project_folder = settings.value("chart_export_project_folder") if export_project_folder is None: settings.setValue("chart_export_project_folder", self.prj.output_project_folder) else: # exists self.prj.output_project_folder = (export_project_folder == "true") # make tabs self.tabs = QtWidgets.QTabWidget() self.setCentralWidget(self.tabs) self.tabs.setContentsMargins(0, 0, 0, 0) self.tabs.setIconSize(QtCore.QSize(36, 36)) self.tabs.setTabPosition(QtWidgets.QTabWidget.South) # - inputs self.tab_inputs = InputsTab(parent_win=self, prj=self.prj) self.idx_inputs = self.tabs.insertTab( 0, self.tab_inputs, QtGui.QIcon(os.path.join(self.media, 'inputs.png')), "") self.tabs.setTabToolTip(self.idx_inputs, "Data inputs") # - grid truncate self.tab_grid_truncate = GridTruncateTab(parent_win=self, prj=self.prj) self.idx_grid_truncate = self.tabs.insertTab( 1, self.tab_grid_truncate, QtGui.QIcon(os.path.join(self.media, 'grid_truncate.png')), "") self.tabs.setTabToolTip(self.idx_grid_truncate, "Grid truncate") self.tabs.setTabEnabled(self.idx_grid_truncate, False) # - grid xyz self.tab_grid_xyz = GridXyzTab(parent_win=self, prj=self.prj) self.idx_grid_xyz = self.tabs.insertTab( 2, self.tab_grid_xyz, QtGui.QIcon(os.path.join(self.media, 'grid_xyz.png')), "") self.tabs.setTabToolTip(self.idx_grid_xyz, "Grid xyz") self.tabs.setTabEnabled(self.idx_grid_xyz, False) # - S57 truncate self.tab_s57_truncate = S57TruncateTab(parent_win=self, prj=self.prj) self.idx_s57_truncate = self.tabs.insertTab( 3, self.tab_s57_truncate, QtGui.QIcon(os.path.join(self.media, 's57_truncate.png')), "") self.tabs.setTabToolTip(self.idx_s57_truncate, "S57 truncate") self.tabs.setTabEnabled(self.idx_s57_truncate, False) # - scan features self.tab_scan = ScanTab(parent_win=self, prj=self.prj) self.idx_scan = self.tabs.insertTab( 4, self.tab_scan, QtGui.QIcon(os.path.join(self.media, 'scan_features.png')), "") self.tabs.setTabToolTip(self.idx_scan, "Scan features") self.tabs.setTabEnabled(self.idx_scan, False) # - triangle self.tab_triangle = TriangleTab(parent_win=self, prj=self.prj) self.idx_triangle = self.tabs.insertTab( 5, self.tab_triangle, QtGui.QIcon(os.path.join(self.media, 'triangle.png')), "") self.tabs.setTabToolTip(self.idx_triangle, "Triangle Rule") self.tabs.setTabEnabled(self.idx_triangle, False) # noinspection PyUnresolvedReferences self.tabs.currentChanged.connect(self.change_tabs) # flags self.has_grid = False self.has_s57 = False self.has_ss = False
def test_cur_grid_has_layers(self): prj = ChartProject(output_folder=testing.output_data_folder()) with self.assertRaises(RuntimeError): prj.cur_grid_has_depth_layer() with self.assertRaises(RuntimeError): prj.cur_grid_has_product_uncertainty_layer() with self.assertRaises(RuntimeError): prj.cur_grid_has_density_layer() with self.assertRaises(RuntimeError): prj.cur_grid_has_tvu_qc_layer() with self.assertRaises(RuntimeError): prj.cur_grid_tvu_qc_layers() with self.assertRaises(RuntimeError): prj.set_cur_grid_tvu_qc_name("fake") prj.add_to_grid_list(testing.input_test_files(".bag")[0]) prj.set_cur_grid(testing.input_test_files(".bag")[0]) prj.open_to_read_cur_grid() self.assertTrue(prj.cur_grid_has_depth_layer()) self.assertTrue(prj.cur_grid_has_product_uncertainty_layer()) self.assertFalse(prj.cur_grid_has_density_layer()) self.assertFalse(prj.cur_grid_has_tvu_qc_layer()) self.assertEqual(len(prj.cur_grid_tvu_qc_layers()), 0) self.assertTrue(prj.has_bag_grid()) self.assertFalse(prj.has_csar_grid())
def test_default_output_folder(self): out = ChartProject.default_output_folder() self.assertTrue("Chart" in out)
import sys import logging default_logging.load() logger = logging.getLogger() from hyo2.qc.chart.project import ChartProject from hyo2.qc.chart.triangle.base_triangle import sounding_units from hyo2.qc.common import testing from PySide import QtGui from hyo2.qc.qctools.qt_progress import QtProgress app = QtGui.QApplication([]) wid = QtGui.QWidget() prj = ChartProject(output_folder=testing.output_data_folder(), progress=QtProgress(parent=wid)) # add S57 files # s57_files = testing.input_test_files(".000") # logger.info("S57 files: %d" % len(s57_files)) # for s57_file in s57_files: # # if "S57" in s57_file: # prj.add_to_s57_list(s57_file) # elif "SS" in s57_file: # prj.add_to_ss_list(s57_file) # else: # pass prj.add_to_s57_list(
def test_init_project_with_folder(self): prj = ChartProject(output_folder=testing.output_data_folder()) self.assertTrue(os.path.exists(prj.output_folder))
def test_truncate_with_grids(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.add_to_grid_list(testing.input_test_files(".bag")[0]) self.assertTrue(prj.grid_truncate())
def test_raise_window(self): ChartProject.raise_window()
def test_s57_list_clear(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.add_to_s57_list(testing.input_test_files(".000")[0]) prj.clear_s57_list() self.assertEqual(len(prj.s57_list), 0)
from hyo2.qc.common import default_logging import logging default_logging.load() logger = logging.getLogger() from hyo2.qc.chart.project import ChartProject from hyo2.qc.common import testing prj = ChartProject(output_folder=testing.output_data_folder()) logger.debug(prj) prj.open_output_folder() print("change")
from hyo2.qc.common import default_logging import logging default_logging.load() logger = logging.getLogger() from hyo2.qc.chart.project import ChartProject from hyo2.qc.common import testing prj = ChartProject(output_folder=testing.output_data_folder()) input_bag_file = testing.input_test_files('.bag')[0] logger.debug('input: %s' % input_bag_file) prj.add_to_grid_list(input_bag_file) prj.grid_truncate(version=2, decimal_places=0) logger.debug(prj)
def test_truncate_with_wrong_version(self): prj = ChartProject(output_folder=testing.output_data_folder()) prj.add_to_grid_list(testing.input_test_files(".bag")[0]) self.assertFalse(prj.grid_truncate(version=1))