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
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()