def test_replace_function_exceptions(): """ Test replace function exceptions """ # pylint: disable=R0914 obj = putil.pcsv.replace common_exceptions(obj) dfilter = ['Ctrl'] with putil.misc.TmpFile(write_file) as fname1: with putil.misc.TmpFile(write_file) as fname2: # Invalid row_start for item, par in product(['a', True, -1], ['frow1', 'frow2']): AI(obj, par, fname1, fname2, dfilter, dfilter, **{par:item}) exmsg = 'File {0} has no valid data'.format(fname1) AE(obj, RE, exmsg, fname1, fname2, dfilter, dfilter, frow1=200) exmsg = 'File {0} has no valid data'.format(fname2) AE(obj, RE, exmsg, fname1, fname2, dfilter, dfilter, frow2=200) # Column numbers are different exmsg = 'Number of input and replacement columns are different' AE(obj, RE, exmsg, fname1, fname2, ['Ctrl'], ['Ctrl', 'Ref']) exmsg = 'Number of input and output columns are different' ocols = ['a', 'b', 'c'] AE(obj, RE, exmsg, fname1, fname2, ['Ctrl'], ['Ref'], ocols=ocols) # Number of rows do not match exmsg = 'Number of rows mismatch between input and replacement data' with putil.misc.TmpFile(write_file) as fname1: with putil.misc.TmpFile(write_str_cols_file) as fname2: AE(obj, ValueError, exmsg, fname1, fname2, dfilter, ['Ref'])
def test_merge_exceptions(): """ Test merge function exceptions """ # pylint: disable=R0914 obj = putil.pcsv.merge common_exceptions(obj) with putil.misc.TmpFile(write_file) as fname1: with putil.misc.TmpFile(write_file) as fname2: exmsg = ( 'Combined columns in data files and output ' 'columns are different' ) AE( obj, RE, exmsg, fname1, fname2, ['Ctrl'], ['Ref'], ocols=['a', 'b', 'c'] )
def test_concatenate_exceptions(): """ Test concatenate function exceptions """ obj = putil.pcsv.concatenate common_exceptions(obj) with putil.misc.TmpFile(write_file) as fname1: with putil.misc.TmpFile(write_file) as fname2: # Column numbers are different exmsg = 'Files have different number of columns' AE(obj, RE, exmsg, fname1, fname2, ['Ctrl'], ['Ctrl', 'Ref']) exmsg = ( 'Number of columns in data files ' 'and output columns are different' ) AE( obj, RE, exmsg, fname1, fname2, ['Ctrl'], ['Ctrl', 'Ref'], ocols=['a', 'b', 'c'] )