"""Original parser/configuration hypothesis fixture; no live import or customer data."""
import csv
samples={'plain':'North Ltd,42','quoted':'"North, Ltd",42','invalid':'North,Ltd,42'}
def parse(line,mode):
    row=next(csv.reader([line])) if mode=='csv' else line.split(',')
    if len(row)!=2:raise ValueError(f'expected2columns, got{len(row)}')
    return row
observed={}
for name,line in samples.items():
    for mode in ('csv','simple_split'):
        try:observed[name,mode]=parse(line,mode)
        except ValueError:observed[name,mode]='reject'
assert observed['plain','csv']==observed['plain','simple_split']==['North Ltd','42']
assert observed['quoted','csv']==['North, Ltd','42']
assert observed['quoted','simple_split']=='reject'
assert observed['invalid','csv']==observed['invalid','simple_split']=='reject'
print('4/4 parser hypothesis assertions passed. Both simulated code versions call the same selected parser.')
for key,value in observed.items():print(key,value)
