예제 #1
0
    def test_bring_up(self):
        self.builder.expert_mode = False
        with temp_bringup_ui_for(self.builder):
            pass

        self.builder.expert_mode = True
        with temp_bringup_ui_for(self.builder):
            pass
    def test_bring_up_with_object_df(self):
        df = DataFrame({"a": [1, 2, 3, 4, 5], "b": [10, 15, 20, 15, 10]},
                       dtype=object)
        analyzer = DataFrameAnalyzer(source_df=df)
        view = DataFrameAnalyzerView(model=analyzer, include_plotter=True)
        with temp_bringup_ui_for(view):
            pass

        view = DataFrameAnalyzerView(model=analyzer, include_plotter=False)
        with temp_bringup_ui_for(view):
            pass
    def test_bring_up_control_font_name(self):
        view = DataFrameAnalyzerView(model=self.analyzer, font_name="Arial")
        with temp_bringup_ui_for(view):
            # Here, size is set by DFAnalyzer:
            self.assert_font_equal(view, "Arial 14")

        view = DataFrameAnalyzerView(model=self.analyzer, fonts="Arial")
        with temp_bringup_ui_for(view):
            # Here, size is set by traitsUI's font handling:
            expected = "Arial " + str(FONT_DEFAULT_SIZE[platform])
            self.assert_font_equal(view, expected)
    def test_bring_up_with_categorical_data(self):
        df = DataFrame({"a": [1, 2, 3, 4, 5], "b": [10, 15, 20, 15, 10],
                        "c": list("ababa")})
        analyzer = DataFrameAnalyzer(source_df=df)
        view = DataFrameAnalyzerView(model=analyzer,
                                     include_plotter=False)
        with temp_bringup_ui_for(view):
            pass

        view = DataFrameAnalyzerView(model=self.analyzer, include_plotter=True)
        with temp_bringup_ui_for(view):
            pass
 def test_bring_up_all_layouts(self):
     for layout in ["Tabbed", "HSplit", "VSplit", "popup"]:
         view = DataFrameAnalyzerView(model=self.analyzer,
                                      include_plotter=True,
                                      plotter_layout=layout)
         with temp_bringup_ui_for(view):
             pass
 def test_all_uv_on_open(self):
     view = ChromatogramModelView(chromatogram_model=self.chrom_model,
                                  open_uv_on_open=True)
     with temp_bringup_ui_for(view):
         self.assertEqual(view.displayed_log_family_names, [LOG_FAMILY_UV])
         self.assertEqual(view.displayed_log_collection_names,
                          [self.exp_name])
 def test_bring_up_attempt_non_existent_fonts(self):
     view = DataFrameAnalyzerView(model=self.analyzer, include_plotter=True,
                                  fonts="NON-EXISTENT")
     with temp_bringup_ui_for(view):
         # Here, size is set by traitsUI's font handling:
         expected = "NON-EXISTENT " + str(FONT_DEFAULT_SIZE[platform])
         self.assert_font_equal(view, expected)
    def test_bring_up_control_precision_float_df(self):
        analyzer = self.analyzer
        view = DataFrameAnalyzerView(model=analyzer, include_plotter=True,
                                     display_precision=3)
        with temp_bringup_ui_for(view):
            self.assertEqual(view.info.displayed_df.adapter.format, "%.3g")

        view = DataFrameAnalyzerView(model=analyzer, include_plotter=True,
                                     formats="%.5e")
        with temp_bringup_ui_for(view):
            self.assertEqual(view.info.displayed_df.adapter.format, "%.5e")

        view = DataFrameAnalyzerView(model=analyzer, include_plotter=True,
                                     formats={"a": "%.5e", "b": "%.8f"})
        with temp_bringup_ui_for(view):
            self.assertEqual(view.info.displayed_df.adapter._formats,
                             {"a": "%.5e", "b": "%.8f"})
 def test_bring_up_control_precision_object_df(self):
     df = DataFrame({"a": list('abcd')})
     analyzer = DataFrameAnalyzer(source_df=df)
     view = DataFrameAnalyzerView(model=analyzer, include_plotter=True,
                                  display_precision=3)
     with temp_bringup_ui_for(view):
         # Because the DF is set as `dtype=object`:
         self.assertEqual(view.info.displayed_df.adapter.format, "%s")
 def test_bring_up_column_controls_as_popup(self):
     view = DataFrameAnalyzerView(model=self.analyzer,
                                  include_plotter=False)
     with temp_bringup_ui_for(view):
         self.assertIsNone(view._control_popup)
         view.open_column_controls = True
         self.assertIsNotNone(view._control_popup)
         self.assertIn("displayed_df", view._df_editors)
         self.assertIn("summary_df", view._df_editors)
 def test_connected_collections_have_same_color(self):
     # Model with 1 exp and 1 sim from it
     chrom_model = make_sample_chrom_model(exp_name=self.exp_name,
                                           include_sim=True)
     view = ChromatogramModelView(chromatogram_model=chrom_model,
                                  open_uv_on_open=True)
     with temp_bringup_ui_for(view):
         self.assertEqual(view.displayed_log_family_names, [LOG_FAMILY_UV])
         self.assertEqual(view.displayed_log_collection_names,
                          [self.exp_name, "Sim: " + self.exp_name])
    def test_bring_up_load_mode(self):
        exps = [FilterExpression(expression=char) for char in "abcedfg"]
        manager = FilterExpressionManager(known_filter_exps=exps)
        manager.selected_expression = exps[1]
        with temp_bringup_ui_for(manager, kind="live"):
            pass

        # Make sure once the UI is closed, the data the DF Analyzer needs is
        # intact:
        self.assertIs(manager.selected_expression, exps[1])
    def test_bring_up_control_precision_object_df_can_convert_to_float(self):
        df = DataFrame({"a": [1, 2, 3, 4, 5], "b": [10, 15, 20, 15, 10]},
                       dtype=object)
        analyzer = DataFrameAnalyzer(source_df=df)
        view = DataFrameAnalyzerView(model=analyzer, include_plotter=True,
                                     display_precision=3)
        with temp_bringup_ui_for(view):
            # Because the DF is set as `dtype=object` but columns can be
            # converted to float:
            self.assertEqual(view.info.displayed_df.adapter.format, "%s")

        df = DataFrame({"a": [1, 2, 3, 4, 5], "b": [10, 15, 20, 15, 10]},
                       dtype=object)
        analyzer = DataFrameAnalyzer(source_df=df, convert_source_dtypes=True)
        view = DataFrameAnalyzerView(model=analyzer, include_plotter=True,
                                     display_precision=3)
        with temp_bringup_ui_for(view):
            # Because the DF is set as `dtype=object` but columns can be
            # converted to float:
            self.assertEqual(view.info.displayed_df.adapter.format, "%.3g")
    def test_bring_up_manage_mode(self):
        exps = [FilterExpression(expression=char) for char in "abcedfg"]
        manager = FilterExpressionManager(known_filter_exps=exps,
                                          mode="manage")
        manager.selected_expression = exps[1]
        with temp_bringup_ui_for(manager, kind="live"):
            manager._delete_button_fired()

        # Make sure once the UI is closed, the data the DF Analyzer needs is
        # intact:
        self.assertEqual(len(manager.known_filter_exps), len(exps) - 1)
        self.assertEqual([x.name for x in manager.known_filter_exps],
                         list("acedfg"))
        self.assertEqual([x.expression for x in manager.known_filter_exps],
                         list("acedfg"))
    def test_change_visible_column_list(self):
        view = DataFrameAnalyzerView(model=self.analyzer)
        init_len = len(view.visible_columns)
        with temp_bringup_ui_for(view):
            # Change the list of visible columns:
            view.visible_columns = view.visible_columns[:1]
            self.assertNotEqual(len(view.visible_columns), init_len)

            # Both DFEditor's adapters are modified, now containing only 2
            # columns: the one requested and the index:
            editor = view.info.displayed_df
            self.assertEqual(len(editor.adapter.columns), 2)
            editor = view.info.summary_df
            self.assertEqual(len(editor.adapter.columns), 2)

            # The model data is unchanged:
            self.assertEqual(len(view.model.displayed_df.columns), init_len)
            self.assertEqual(len(view.model.summary_df.columns), init_len)
            self.assertEqual(len(view.model.filtered_df.columns), init_len)
            self.assertEqual(len(view.model.source_df.columns), init_len)
    def test_change_source_column_list(self):
        view = DataFrameAnalyzerView(model=self.analyzer)
        with temp_bringup_ui_for(view):
            self.assertEqual(view.visible_columns, self.analyzer.column_list)
            new_col_name = "NEW COL"
            self.analyzer.source_df[new_col_name] = 2
            self.analyzer.col_list_changed = True
            self.assertNotEqual(view.visible_columns,
                                self.analyzer.column_list)

            # Make the new column visible:
            view.visible_columns.append(new_col_name)

            # Both DFEditor's adapters are modified, now containing only 2
            # columns: the one requested and the index:
            editor = view.info.displayed_df
            # 4 for the 3 columns and the index:
            self.assertEqual(len(editor.adapter.columns), 4)
            self.assertIn((new_col_name, new_col_name), editor.adapter.columns)
            editor = view.info.summary_df
            self.assertEqual(len(editor.adapter.columns), 4)
            self.assertIn((new_col_name, new_col_name), editor.adapter.columns)
 def test_bring_up_ge_exp(self):
     mba = MassBalanceAnalyzer(target_experiment=self.exp2)
     with temp_bringup_ui_for(mba):
         pass
예제 #18
0
 def test_bringup(self):
     with temp_bringup_ui_for(self.updater):
         pass
 def test_bringup_method_without_collection_criteria(self):
     method = self.model
     method.collection_criteria = None
     model_view = MethodModelView(model=method)
     with temp_bringup_ui_for(model_view):
         pass
 def test_bring_up(self):
     manager = FilterExpressionManager()
     with temp_bringup_ui_for(manager):
         pass
예제 #21
0
 def test_bring_up(self):
     obj = self.configurator(data_source=TEST_DF)
     with temp_bringup_ui_for(obj):
         pass
 def test_bringup(self):
     selector = BaseSimulationSelector(study=STUDY)
     with temp_bringup_ui_for(selector):
         pass
 def test_bring_up(self):
     exporter = self.exporter
     with temp_bringup_ui_for(exporter):
         for export_format in {IMG_FORMAT, VEGA_FORMAT, PPT_FORMAT}:
             exporter.export_format = export_format
 def test_bring_up_analyzer_with_plotter(self):
     view = DataFrameAnalyzerView(model=self.analyzer, include_plotter=True)
     with temp_bringup_ui_for(view):
         pass
 def test_bring_up_without_parallel_params(self):
     selector = RegularParameterListSelector(center_sim=self.sim,
                                             allow_parallel_params=False)
     with temp_bringup_ui_for(selector):
         pass
 def test_bring_up(self):
     obj = _NameEditor(old_name="blah")
     with temp_bringup_ui_for(obj):
         pass
 def test_bringup_df_analyzer_view(self):
     model = DataFrameAnalyzer(source_df=self.model.group_data)
     view = DataFrameAnalyzerView(model=model, include_plotter=True)
     with temp_bringup_ui_for(view):
         pass
 def assert_can_bringup_ui(self, explorer):
     with temp_bringup_ui_for(explorer):
         pass
 def test_bringup(self):
     selector = SingleSimulationGroupSelector(study=STUDY)
     with temp_bringup_ui_for(selector):
         pass
 def test_bring_up(self):
     with temp_bringup_ui_for(self.perf_param_pane):
         pass