Skip to content
Snippets Groups Projects
test.py 2.66 KiB
Newer Older
from main import check_frame
from util import invalidate_record, invalidate_records

import pandas as pd

random_dataframe = pd.DataFrame(pd.np.random.randn(10,10), columns=list('abcdefghij'))


def test_it_works():
    qc_frame = check_frame(random_dataframe, {})
    assert 'qc_percent' in qc_frame.columns
    print(qc_frame)

def test_invalidate_record():
    invalidated = invalidate_record(three_scenes.copy(), 2, 'test', .5)
    assert invalidated.loc[2].test == .5
    assert pd.np.isnan(invalidated.loc[3].test)
    assert pd.np.isnan(invalidated.loc[1].test)

    tricky_index = three_scenes.copy()
    tricky_index.index = tricky_index.index - 1
    invalidated = invalidate_record(tricky_index, 1, 'test', .5)
    assert invalidated.loc[1].test == .5, invalidated.test
    assert pd.np.isnan(invalidated.loc[2].test), invalidated
    assert pd.np.isnan(invalidated.loc[0].test), invalidated

    corrupt_cal = three_scenes.copy()
    invalidated = invalidate_record(corrupt_cal, 3, 'test', .5)
    assert invalidated.loc[2].test == .5, invalidated.test
    assert invalidated.loc[4].test != .5, invalidated.test
    assert invalidated.loc[5].test == .5, invalidated.test


def test_invalidate_records():
    corrupt_cal = three_scenes.copy()
    corrupt_cal['test'] = 0
    corrupt_cal['test'][3] = 1
    
    invalidated = invalidate_records(corrupt_cal, 'test')
    assert invalidated.loc[2].test == 1, invalidated.test
    assert invalidated.loc[4].test == 0, invalidated.test
    assert invalidated.loc[5].test == 1, invalidated.test
Coda Phillips's avatar
Coda Phillips committed
def test_invalidate_record_and_annotate():
    invalidated = invalidate_record(three_scenes.copy(), 2, 'test', .5, 'test annotation')
    assert invalidated.loc[2].test == .5
    assert pd.np.isnan(invalidated.loc[3].test)
    assert pd.np.isnan(invalidated.loc[1].test)
    assert invalidated.loc[2].qc_notes == 'test annotation'
Coda Phillips's avatar
Coda Phillips committed

    tricky_index = three_scenes.copy()
    tricky_index.index = tricky_index.index - 1
    invalidated = invalidate_record(tricky_index, 1, 'test', .5, 'test annotation')
    assert invalidated.loc[1].test == .5, invalidated.test
    assert pd.np.isnan(invalidated.loc[2].test)
    assert pd.np.isnan(invalidated.loc[0].test)
    assert invalidated.loc[1].qc_notes == 'test annotation'
Coda Phillips's avatar
Coda Phillips committed

    corrupt_cal = three_scenes.copy()
    invalidated = invalidate_record(corrupt_cal, 3, 'test', .5)
    assert invalidated.loc[2].test == .5, invalidated.test
    assert invalidated.loc[2].qc_notes == 'invalid calibration:3'
    assert invalidated.loc[5].test == .5, invalidated.test
    assert invalidated.loc[5].qc_notes == 'invalid calibration:3'
Coda Phillips's avatar
Coda Phillips committed

three_scenes = pd.DataFrame({'sceneMirrorPosition': list(map(ord, 'HASAHSAHSAH')), 'qc_notes':''})