def test_first_subfield_default(): """Test sub-field acessor ^* in field without subfields""" record = MasterRecord() record.update(test_data) first_subfield = format("v50^*", record) assert first_subfield == 'Incl. bibl.', 'Failed to extract first subfield' record.v13 = "First ^ok" assert format( "v13^*", record) == 'First ', 'Failed during first subfield extraction'
def test_numfunc(): """Test Numerical functions""" record = MasterRecord() record.update(test_data) record.v13 = ["a 10", "b 20", "c 30"] expr_list = ( ('val(26)', '26'), ('val(v26)', '-1965'), ('val(V26)', '-1965'), ("v26^c*1", '1965'), ("val('xxxx7yyyy8zzzz')", "7"), ("val('water')", "0"), ("val(10)*val(2)", "20"), ("val('10')*val('2')", "20"), ("val('dfsdf sdfsdf sdfsdfds')=0", "True"), ("val('dfsdf sdfsdf sdfsdfds')", "0"), ("val(v26)/10*-1", "196.5"), ("val(val(1))", "1"), ("val(-1)", "-1"), ("rsum(10,20,30)", "60"), ("rmax(10,20,30)", "30"), ("rmin(10,20,30)", "10"), ("ravr(10,20,30)", "20"), ("RSUM(10,20,30)", "60"), ("RMAX(10,20,30)", "30"), ("RMIN(10,20,30)", "10"), ("RAVR(10,20,30)", "20"), ("rsum('10')", "10"), ("rsum(10)", "10"), ("rsum('10,20,30')", "60"), ("rsum('a,10,b,20,c,30')", "60"), ("rsum(v26)", "-1965"), ("rsum(v26,1965)", "0"), ("rsum(v70)", "0"), ("rsum(v13)", "60"), ("rmax(v13)", "30"), ("rmin(v13)", "10"), ("ravr(v13)", "20"), ("rsum(v30)", "-13"), ) run_list(expr_list, record)