Ejemplo n.º 1
0
def test_graphbase_get_x_y_values():
    records = [{u'buildingID': 0, u'date': u'6/1/13', u'temp_diff': 12, u"str": "str"},
               {u'buildingID': 1, u'date': u'6/1/13', u'temp_diff': 0, u"str": "str"},
               {u'buildingID': 2, u'date': u'6/1/14', u'temp_diff': 11, u"str": "str"},
               {u'buildingID': 0, u'date': u'6/1/15', u'temp_diff': 5, u"str": "str"},
               {u'buildingID': 1, u'date': u'6/1/16', u'temp_diff': 19, u"str": "str"},
               {u'buildingID': 2, u'date': u'6/1/17', u'temp_diff': 32, u"str": "str"}]
    df = pd.DataFrame(records)
    expected_xs = [u'6/1/13', u'6/1/14', u'6/1/15', u'6/1/16', u'6/1/17']

    encoding = Encoding(chart_type=Encoding.chart_type_line, x="date", y="temp_diff", y_aggregation=Encoding.y_agg_sum)
    xs, yx = GraphBase._get_x_y_values(df, encoding)
    assert xs == expected_xs
    assert yx == [12, 11, 5, 19, 32]

    encoding = Encoding(chart_type=Encoding.chart_type_line, x="date", y="temp_diff", y_aggregation=Encoding.y_agg_avg)
    xs, yx = GraphBase._get_x_y_values(df, encoding)
    assert xs == expected_xs
    assert yx == [6, 11, 5, 19, 32]

    encoding = Encoding(chart_type=Encoding.chart_type_line, x="date", y="temp_diff", y_aggregation=Encoding.y_agg_max)
    xs, yx = GraphBase._get_x_y_values(df, encoding)
    assert xs == expected_xs
    assert yx == [12, 11, 5, 19, 32]

    encoding = Encoding(chart_type=Encoding.chart_type_line, x="date", y="temp_diff", y_aggregation=Encoding.y_agg_min)
    xs, yx = GraphBase._get_x_y_values(df, encoding)
    assert xs == expected_xs
    assert yx == [0, 11, 5, 19, 32]

    encoding = Encoding(chart_type=Encoding.chart_type_line, x="date", y="temp_diff", y_aggregation=Encoding.y_agg_none)
    xs, yx = GraphBase._get_x_y_values(df, encoding)
    assert xs == [u'6/1/13', u'6/1/13', u'6/1/14', u'6/1/15', u'6/1/16', u'6/1/17']
    assert yx == [12, 0, 11, 5, 19, 32]

    try:
        encoding = Encoding(chart_type=Encoding.chart_type_line, x="buildingID", y="date",
                            y_aggregation=Encoding.y_agg_avg)
        GraphBase._get_x_y_values(df, encoding)
        assert False
    except InvalidEncodingError:
        pass

    try:
        encoding = Encoding(chart_type=Encoding.chart_type_line, x="date", y="str",
                            y_aggregation=Encoding.y_agg_avg)
        GraphBase._get_x_y_values(df, encoding)
        assert False
    except InvalidEncodingError:
        pass
Ejemplo n.º 2
0
def test_graph_base_display_methods():
    assert GraphBase.display_x()
    assert GraphBase.display_y()
    assert GraphBase.display_logarithmic_x_axis()
    assert GraphBase.display_logarithmic_y_axis()