Пример #1
0
 def test_aggregate(self, foo1, foo2, foo3, bar1, bar2, bar3, SM_PU_iotargets_foo_bar_aggregate, units):
     app = PlatformUnitApplication(name="foo", iotargets=SM_PU_iotargets_foo_bar_aggregate, units=units)
     app._targets = {'foo': [str(foo1), str(foo2), str(foo3)], 'bar': [str(bar1), str(bar2), str(bar3)]}
     app.aggregate()
     assert list(app.aggregate_data['foo']['PU']) == ['bar1', 'bar1', 'bar2', 'bar2', 'bar3', 'bar3']
     assert list(app.aggregate_data['foo']['SM']) == ['foo1', 'foo1', 'foo2', 'foo2', 'foo3', 'foo3']
     assert list(app.aggregate_data['foo']['PlatformUnit']) == ['foo1__bar1', 'foo1__bar1', 'foo2__bar2', 'foo2__bar2', 'foo3__bar3', 'foo3__bar3']
Пример #2
0
def test_post_processing_hook(foo1, foo2, foo3, bar1, bar2, bar3, SM_PU_iotargets_foo_bar_aggregate, units):
    app = PlatformUnitApplication(name="foo", iotargets=SM_PU_iotargets_foo_bar_aggregate, units=units)
    @app.register_post_processing_hook('foo')
    def _pphook(df, **kwargs):
        df['foobar'] = df['foo'] + df['bar']
        return df
    app._targets = {'foo': [str(foo1), str(foo2), str(foo3)], 'bar': [str(bar1), str(bar2), str(bar3)]}
    app.aggregate()
    assert 'foobar' in list(app.aggregate_data['foo'].columns)
    assert 'foobar' not in list(app.aggregate_data['bar'].columns)
    assert list(app.aggregate_data['foo']['foobar']) == [3, 7, 11, 15, 19, 23]
Пример #3
0
def test_plot_fn(foo1, foo2, foo3, bar1, bar2, bar3, SM_PU_iotargets_foo_bar_aggregate, units):
    app = PlatformUnitApplication(name="foo", iotargets=SM_PU_iotargets_foo_bar_aggregate, units=units)
    @app.register_plot('foo')
    def _plot1(df, **kwargs):
        from bokeh.charts import Scatter
        return Scatter(df, x="foo", y="bar", **kwargs)

    @app.register_plot('bar')
    @app.register_plot('foo')
    def _plot2(df, **kwargs):
        from bokeh.charts import Scatter
        return Scatter(df, x="bar", y="foo", **kwargs)

    app._targets = {'foo': [str(foo1), str(foo2), str(foo3)], 'bar': [str(bar1), str(bar2), str(bar3)]}
    app.aggregate()
    # bar
    d = app.plot('bar')
    assert isinstance(d, list)
    assert len(d) == 1
    # foo
    d = app.plot('foo')
    assert len(d) == 2
    from bokeh.charts import Chart
    assert isinstance(d[0], Chart)
    assert d[0].plot_width == 600
    d = app.plot(key="foo", plot_width=400)
    assert d[0].plot_width == 400