コード例 #1
0
    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()
コード例 #2
0
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
コード例 #3
0
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"
コード例 #4
0
    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()
コード例 #5
0
    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()
コード例 #6
0
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']
コード例 #7
0
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"