def count(self): measure_config = MeasureConfig( measure_type=self.config["measure_type"], data=self.data, type_name="count", calculation_type=CalcType.COUNT_CALCULATION.value) diff_measure_object = MeasureFactory().create_measure_object( MeasureType.BASIC_MEASURE.value, measure_config) return diff_measure_object.measure()
def test_sum_measure(): print("==============test_sum_measure=================") mconfig = MeasureConfig(measure_type="Sales", data=pd.DataFrame( data={"Sales": [1, 2, 3]}, index=["Jan 2019", "Feb 2019", "Mar 2019"])) mf = MeasureFactory() measure_handle = mf.create_measure_object("basic_measure", mconfig) value = measure_handle.measure()["measure"] assert value == 6
def test_std_measure(): print("==============test_mean_measure=================") mconfig = MeasureConfig(measure_type="Sales", calculation_type="standard_dev_calculation", data=pd.DataFrame( data={"Sales": [1, 2, 3]}, index=["Jan 2019", "Feb 2019", "Mar 2019"])) mf = MeasureFactory() measure_handle = mf.create_measure_object("basic_measure", mconfig) value = measure_handle.measure()["measure"] assert "{:.2f}".format(value) == "0.82"
def std_mom(self): diff_series = self.data[self.measure_type].diff() diff_data = pd.DataFrame(index=self.data.index, data={self.measure_type: diff_series}) diff_data.dropna(inplace=True) measure_config = MeasureConfig( measure_type=self.config["measure_type"], data=diff_data, type_name="std_mom", calculation_type=CalcType.STANDARD_DEV_CALCULATION.value) diff_measure_object = MeasureFactory().create_measure_object( MeasureType.BASIC_MEASURE.value, measure_config) return diff_measure_object.measure()
def mean_growth(self): pct_series = self.data[self.measure_type].pct_change() pct_data = pd.DataFrame(index=self.data.index, data={self.measure_type: pct_series}) pct_data.dropna(inplace=True) measure_config = MeasureConfig( measure_type=self.config["measure_type"], data=pct_data, type_name="mean_growth", calculation_type=CalcType.MEAN_CALCULATION.value) pct_measure_object = MeasureFactory().create_measure_object( MeasureType.BASIC_MEASURE.value, measure_config) return pct_measure_object.measure()
def test_chart_measure(): print("==============test_chart_measure=================") mconfig = MeasureConfig(measure_type="Sales", data=pd.DataFrame( data={"Sales": [1, 2, 3]}, index=["Jan 2019", "Feb 2019", "Mar 2019"])) mf = MeasureFactory() measure_handle = mf.create_measure_object("chart_measure", mconfig) chart = measure_handle.measure() assert 'xaxis' in chart[0] assert 'dim' in chart[0] assert 'value' in chart[0] assert 'Jan 2019' == chart[0]['xaxis'] assert '' == chart[0]['dim'] assert 1.0 == chart[0]['value'] assert 'Feb 2019' == chart[1]['xaxis'] assert '' == chart[1]['dim'] assert 2.0 == chart[1]['value']
def test_measurefactory_errcase(): print("==============test_measurefactory_errcase=================") mf = MeasureFactory() try: mf.create_measure_object(None, None) assert False except Exception as e: assert str(e) == "Unknown Measure Type Requested" try: mf.create_measure_object("unknown") assert False except Exception as e: assert str(e) == "Unknown Measure Type Requested" try: measure_handle = mf.create_measure_object("basic_measure") assert False except Exception as e: assert str(e) == "Config parameter is None"