Example #1
0
def test_copy():
    from eva.dataframe import DataFrame

    df = DataFrame(
        DATA,
        dimensions=['id', 'type', 'code'],
        metrics=['value_1', 'value_2'],
    )

    assert isinstance(df.copy(), DataFrame)
    assert (df.copy().values == df.values).all().all()
    assert df.copy().dimensions == df.dimensions
    assert df.copy().metrics == df.metrics
Example #2
0
def test_values():
    from eva.dataframe import DataFrame

    df = DataFrame(
        DATA,
        dimensions=['id', 'type', 'code'],
        metrics=['value_1', 'value_2'],
    )

    df.metrics = 'value_1'
    assert df.metrics == ['value_1']

    df.metrics = ['value_2']
    assert df.metrics == ['value_2']
Example #3
0
def test_import_data():
    from eva.dataframe import DataFrame

    with pytest.raises(AssertionError,
                       message='Dimensions/values is not well-defined.'):
        DataFrame(DATA)
    with pytest.raises(AssertionError,
                       message='Dimensions/values is not well-defined.'):
        DataFrame(DATA, dimensions='id', metrics='value_1')

    DataFrame(
        DATA,
        dimensions=['id', 'type', 'code'],
        metrics=['value_1', 'value_2'],
    )
Example #4
0
def test_native_dataframe():
    from eva.dataframe import DataFrame

    df = DataFrame(
        DATA,
        dimensions=['id', 'type', 'code'],
        metrics=['value_1', 'value_2'],
    )
    native_dataframe = pd.DataFrame(DATA)

    assert (df.index == native_dataframe.index).all()
    assert (df.columns == native_dataframe.columns).all()
    assert df.shape == native_dataframe.shape
Example #5
0
def test_table_view():
    from eva.dataframe import DataFrame

    df = DataFrame(
        DATA,
        dimensions=['id', 'type', 'code'],
        metrics=['value_1', 'value_2'],
    )
    table_view = df.table_view

    assert set(table_view.columns) == {
        'id', 'type', 'code', 'timestamp', 'delta', 'value_1', 'value_2'
    }
    assert (table_view.index == pd.RangeIndex(len(table_view))).all()
Example #6
0
def test_matrix_view():
    from eva.dataframe import DataFrame

    df = DataFrame(
        DATA,
        dimensions=['id', 'type', 'code'],
        metrics=['value_1', 'value_2'],
    )
    matrix_view = df.matrix_view

    assert list(
        matrix_view.columns.names) == [None, 'id', 'type', 'code', 'delta']
    assert matrix_view.index.name == 'timestamp'
    assert set(
        matrix_view.columns.get_level_values(0)) == {'value_1', 'value_2'}