def test_median_returns_correct_values(get_dataframe): """ features.network.TotalNetworkObjects median aggregate returns correct values. """ instance = network.TotalNetworkObjects( table="calls", period="hour", network_object="versioned-site" ).aggregate(by="day", statistic="median") # # This will compare the very first # value with an independently # computed value. # assert get_dataframe(instance).head(1)["median"][0] == 25
def test_count_returns_correct_values(get_dataframe): """ TotalNetworkObjects returns correct values. """ instance = network.TotalNetworkObjects( start="2016-01-01", stop="2016-12-30", table="calls", period="hour" ) df = get_dataframe(instance) # # This will compare the very first # value with an independently # computed value. # assert df.total[34] == 31
def test_mean_returns_correct_values(get_dataframe): """ features.network.TotalNetworkObjects aggregation returns correct values. """ instance = network.TotalNetworkObjects( start="2016-01-01", stop="2016-12-30", period="hour", network_object="versioned-site", ).aggregate(by="day") # # This will compare the very first # value with an independently # computed value. # assert get_dataframe(instance).head(1)["avg"][0] == pytest.approx(28.7916666666)
def test_bad_statistic(): """Test that invalid stat for aggregate raises value error.""" with pytest.raises(ValueError): network.TotalNetworkObjects( start="2016-01-01", stop="2016-12-30", table="calls" ).aggregate(statistic="count")
def test_bad_params(bad_arg, bad_val): """Test value errors are raised for bad params""" with pytest.raises(ValueError): network.TotalNetworkObjects( start="2016-01-01", stop="2016-12-30", table="calls", **{bad_arg: bad_val} )
def test_period_agg_default(period, expected): """Correct aggregation period is deduced.""" inst = network.TotalNetworkObjects( start="2016-01-01", stop="2016-12-30", period=period ).aggregate() assert inst.by == expected