def test_match_fields_2(self): Logger.set_level(Level.info) field_mapper, input_field_listener, reference_field_listener = TestStencilFieldMapper.make_stencil_field_mapper( "s1", 1, ["A", "B", "C"], "s1", 1, ["A", "BB", "B", "C"]) # The fields have been sorted (alphabetically), we update them here input_field_listener.list_value = field_mapper.input_field_list reference_field_listener.list_value = field_mapper.reference_field_list field_mapper.initial_field_match() # Check "checked" fields are equal i.e ["A", "B", "C"] self.assertCheckedFieldsEqual(input_field_listener, reference_field_listener) # Check "tt" has been move to the 3rd position i.e the end self.assertEqual(reference_field_listener.list_value.index("BB"), 3) self.assertEqual(reference_field_listener.list_check[3], CheckState.Unchecked)
def main(): # ===----------------------------------------------------------------------------------------=== # Check Python Version # ==-----------------------------------------------------------------------------------------=== from sys import version_info if version_info < (3, 4): print("sdb: error: sdb requires atleast python 3.4 (detected %s)" % python_version(), file=stderr) exit(1) # ===----------------------------------------------------------------------------------------=== # Check if IPython is available # ===----------------------------------------------------------------------------------------=== SDB_HAS_IPYTHON = False try: from os import environ environ['QT_API'] = 'pyqt5' from IPython.qt.console.rich_ipython_widget import RichIPythonWidget from IPython.qt.inprocess import QtInProcessKernelManager SDB_HAS_IPYTHON = True except ImportError as e: pass # ===----------------------------------------------------------------------------------------=== # Parse command-line # ==-----------------------------------------------------------------------------------------=== from sdbcore.version import Version from sdbcore.error import fatal_error from sdbcore.logger import Logger, Level parser = OptionParser(version="sdb %s" % Version().sdb_version()) parser.add_option("-v", "--verbose", dest="verbose", action="store_true", help="enable verbose logging") group = BooleanOptionGroup( parser, "Configuration Options", "All options take a negative form, for example --foo sets the option" " foo to True, while --no-foo sets it to False.") group.add_boolean_option("ipython", "Embed IPython console in the error description", SDB_HAS_IPYTHON, "True of IPython is available, False otherwise") group.add_boolean_option("center-window", "Center main window at launch", True) group.add_boolean_option( "default-session", "Load (save) default session at startup (shutdown)", True) group.add_boolean_option("async", "Use asynchronous reading API of Serialbox", True) group.add_boolean_option( "in-cell-icons", "Display small in icons the result table instead of coloring the cell", True) parser.add_option_group(group) parser.add_option( "--move-window", metavar="X:Y", dest="move_window", help= "Move main window at launch by X in the horizontal and Y in the vertical" ) (options, args) = parser.parse_args() if options.verbose: Logger.set_level(Level.info) # ===----------------------------------------------------------------------------------------=== # Check if Serialbox is available # ===----------------------------------------------------------------------------------------=== try: from serialbox import __version__ if options.verbose: Logger.enable_serialbox_logging() Logger.info("Using Serialbox: %s" % __version__) except ImportError as e: fatal_error("serialbox not found: %s" % e) # ===----------------------------------------------------------------------------------------=== # Check if PyQt5 is available # ===----------------------------------------------------------------------------------------=== try: from PyQt5.QtCore import QT_VERSION_STR Logger.info("Using PyQt5: %s" % QT_VERSION_STR) except ImportError as e: fatal_error("PyQt5 not found: %s" % e) # ===----------------------------------------------------------------------------------------=== # Check if matplotlib is available # ===----------------------------------------------------------------------------------------=== try: import matplotlib Logger.info("Using matplotlib: %s" % matplotlib.__version__) except ImportError as e: Logger.warning("cannot import matplotlib: %s" % e) # ===----------------------------------------------------------------------------------------=== # Set global configuration option # ===----------------------------------------------------------------------------------------=== from sdbgui.globalconfig import GlobalConfig from PyQt5.QtCore import QPoint GlobalConfig()["ipython"] = options.ipython GlobalConfig()["default_session"] = options.default_session GlobalConfig()["center_window"] = options.center_window GlobalConfig()["async"] = options. async