コード例 #1
0
    def test_get_selection_geometry_callback(self):
        bnac = BaseNonAggregate()

        df = cudf.DataFrame({"a": [1, 2, 2], "b": [3, 4, 5]})
        dashboard = DashBoard(data=df)

        assert (bnac.get_selection_geometry_callback(dashboard).__name__ ==
                "selection_callback")
        assert callable(type(bnac.get_selection_geometry_callback(dashboard)))
コード例 #2
0
    def test_selection_callback(self):
        bnac = BaseNonAggregate()
        bnac.x = "a"
        bnac.y = "b"
        bnac.chart_type = "temp"
        self.result = None

        def t_function(data, patch_update=False):
            self.result = data

        bnac.reload_chart = t_function
        df = cudf.DataFrame({"a": [1, 2, 2], "b": [3, 4, 5]})
        dashboard = DashBoard(data=df)

        dashboard._active_view = bnac.name

        t = bnac.get_selection_geometry_callback(dashboard)
        t(xmin=1, xmax=2, ymin=3, ymax=4)
        assert self.result.equals(df.query("1<=a<=2 and 3<=b<=4"))
コード例 #3
0
    def test_box_selection_callback(self):
        bnac = BaseNonAggregate()
        bnac.x = "a"
        bnac.y = "b"
        bnac.chart_type = "temp"
        self.result = None

        def t_function(data, patch_update=False):
            self.result = data

        bnac.reload_chart = t_function
        df = cudf.DataFrame({"a": [1, 2, 2], "b": [3, 4, 5]})
        dashboard = DashBoard(dataframe=DataFrame.from_dataframe(df))

        dashboard._active_view = bnac.name

        class evt:
            geometry = dict(x0=1, x1=2, y0=3, y1=4, type="rect")

        t = bnac.get_selection_geometry_callback(dashboard)
        t(evt)
        assert self.result.equals(df.query("1<=a<=2 and 3<=b<=4"))
コード例 #4
0
    def test_lasso_election_callback(self):
        bnac = BaseNonAggregate()
        bnac.x = "a"
        bnac.y = "b"
        bnac.chart_type = "temp"

        def t_function(data, patch_update=False):
            self.result = data

        bnac.reload_chart = t_function
        df = cudf.DataFrame({"a": [1, 2, 2], "b": [3, 4, 5]})
        dashboard = DashBoard(dataframe=DataFrame.from_dataframe(df))

        class evt:
            geometry = dict(x=[1, 1, 2], y=[1, 2, 1], type="poly")
            final = True

        t = bnac.get_selection_geometry_callback(dashboard)
        with mock.patch("cuspatial.point_in_polygon") as pip:

            pip.return_value = cudf.DataFrame(
                {"selection": [True, False, True]})
            t(evt)
            assert pip.called