Exemple #1
0
def test_difference_big_variation_success():
    df1 = util.iris(['petalwidth'], size=40)
    df2 = util.iris(['petalwidth'], size=10)
    test_df = df1.copy()

    df1.loc[4, 'petalwidth'] = np.int64(50)
    df1.loc[5, 'petalwidth'] = pd.Timestamp(1596509236)
    df1.loc[6, 'petalwidth'] = np.float(1.56)
    df1.loc[7, 'petalwidth'] = np.array('test')
    df1.loc[8, 'petalwidth'] = np.bool(False)
    df1.loc[10, 'petalwidth'] = np.NaN

    arguments = {
        'parameters': {},
        'named_inputs': {
            'input data 1': 'df1',
            'input data 2': 'df2'
        },
        'named_outputs': {
            'output data': 'out'
        }
    }
    instance = DifferenceOperation(**arguments)
    result = util.execute(instance.generate_code(), {'df1': df1, 'df2': df2})

    diff_oper = df1.eq(df2)
    for i in range(40):
        if diff_oper.iloc[i, 0:].all():
            test_df.drop(i, inplace=True)
    assert result['out'].eq(test_df).equals(test_df.eq(result['out']))
    assert len(result['out']) == 35
Exemple #2
0
def test_difference_missing_input_implies_no_code_success():
    arguments = {
        'parameters': {},
        'named_inputs': {},
        'named_outputs': {
            'output data': 'out'
        }
    }
    instance = DifferenceOperation(**arguments)
    assert instance.generate_code() is None
Exemple #3
0
def test_difference_no_output_implies_no_code_success():
    arguments = {
        'parameters': {},
        'named_inputs': {
            'input data 1': 'df1',
            'input data 2': 'df2'
        },
        'named_outputs': {}
    }
    instance = DifferenceOperation(**arguments)
    assert instance.generate_code() is None
Exemple #4
0
def test_difference_one_col_success():
    df1 = util.iris(['sepallength'], size=15)
    df2 = util.iris(['sepallength'], size=10)
    df1.loc[7:9, 'sepallength'] = 1
    test_df = df1.copy()

    arguments = {
        'parameters': {},
        'named_inputs': {
            'input data 1': 'df1',
            'input data 2': 'df2'
        },
        'named_outputs': {
            'output data': 'out'
        }
    }
    instance = DifferenceOperation(**arguments)
    result = util.execute(instance.generate_code(), {'df1': df1, 'df2': df2})
    assert result['out'].equals(test_df.loc[7:14, 'sepallength'].to_frame())
    assert len(result['out']) == 8
Exemple #5
0
def test_difference_success():
    slice_size = 10
    df = [
        'df',
        util.iris(['sepallength', 'sepalwidth', 'petalwidth', 'petallength'],
                  slice_size)
    ]

    arguments = {
        'parameters': {},
        'named_inputs': {
            'input data': df[0],
        },
        'named_outputs': {
            'output data': 'out'
        }
    }
    instance = DifferenceOperation(**arguments)
    result = util.execute(instance.generate_code(), dict([df]))
    assert result['out'].equals(util.iris(size=slice_size))
Exemple #6
0
def test_difference_input2_is_bigger_success():
    """It only returns the dataframe column, maybe it should return nothing?"""
    df1 = util.iris(['petalwidth'], size=10)
    df2 = util.iris(['petalwidth'], size=15)
    test_df = df1.copy().drop(range(10))

    arguments = {
        'parameters': {},
        'named_inputs': {
            'input data 1': 'df1',
            'input data 2': 'df2'
        },
        'named_outputs': {
            'output data': 'out'
        }
    }
    instance = DifferenceOperation(**arguments)
    result = util.execute(instance.generate_code(), {'df1': df1, 'df2': df2})

    assert result['out'].equals(test_df)
    assert len(result['out']) == 0
Exemple #7
0
def test_difference_different_cols_success():
    """Returns nothing"""
    df1 = util.iris(['petalwidth'], size=20)
    df2 = util.iris(['class'], size=10)
    test_df = df1.copy().drop(columns='petalwidth', index=range(20))

    arguments = {
        'parameters': {
            'attributes': 2
        },
        'named_inputs': {
            'input data 1': 'df1',
            'input data 2': 'df2'
        },
        'named_outputs': {
            'output data': 'out'
        }
    }
    instance = DifferenceOperation(**arguments)
    result = util.execute(instance.generate_code(), {'df1': df1, 'df2': df2})

    assert result['out'].equals(test_df)
    assert len(result['out']) == 0