コード例 #1
0
    def test_chart_tools_linear(self, mock_warn):
        base_args = dict(title="title",
                         xlabel="xlabel",
                         ylabel="ylabel",
                         legend="top_left",
                         xscale="linear",
                         yscale="linear",
                         xgrid=True,
                         ygrid=True,
                         width=800,
                         height=600,
                         filename=False,
                         server=False,
                         notebook=False)
        expected = [
            [
                PanTool, WheelZoomTool, BoxZoomTool, PreviewSaveTool,
                ResizeTool, ResetTool, HelpTool
            ],
            [],
            [ResizeTool, PanTool, BoxZoomTool, ResetTool, LassoSelectTool],
        ]
        scenarios = zip(
            [True, False, "resize,pan,box_zoom,reset,lasso_select"], expected)

        self.check_tools_scenario(base_args, scenarios)

        self.check_tools_scenario(base_args, scenarios, categorical=True)

        msg_repeat = "LassoSelectTool are being repeated"
        expected_tools = [
            ResizeTool, PanTool, BoxZoomTool, ResetTool, LassoSelectTool,
            LassoSelectTool
        ]
        mock_warn.reset_mock()

        # Finally check repeated tools
        base_args[
            'tools'] = "resize,pan,box_zoom,reset,lasso_select,lasso_select"

        chart = Chart(**base_args)
        chart.x_range = FactorRange()
        chart.tools = []
        chart.create_tools(chart._options.tools)

        self.compare_tools(chart.tools, expected_tools)
        mock_warn.assert_any_call(msg_repeat)
コード例 #2
0
 def setUp(self):
     self.source = ColumnDataSource()
     self.xdr = Range1d()
     self.ydr = Range1d()
     self.glyph = GlyphRenderer()
     self._groups = [self.glyph] * 3
     self.chart = Chart(title="title",
                        xlabel="xlabel",
                        ylabel="ylabel",
                        legend="top_left",
                        xscale="linear",
                        yscale="linear",
                        width=800,
                        height=600,
                        tools=True,
                        filename=False,
                        server=False,
                        notebook=False,
                        responsive=True,
                        xgrid=True,
                        ygrid=False)
コード例 #3
0
 def check_tools_scenario(self, base_args, scenarios, categorical=False):
     for tools, expected_tools in scenarios:
         base_args['tools'] = tools
         chart = Chart(**base_args)
         self.compare_tools(chart.tools, expected_tools)