def _read_log(fname): """ Read a log file 'fname' to produce instance of Config and Records. """ print(f'Reading data from: {fname}') cf = Config() rs = Records() with open(fname, 'r') as f: cf.readin(f) skip_lines(3, f) rs.runs = [int(f.readline().split()[2])] rs.seed = [int(f.readline().split()[2])] rs.lattice_dims = [int(x) for x in f.readline().split()[2:]] skip_lines(4, f) while True: r = Records.read(f) if r == '' or r[0] == '\n': break rs.add(r) print(f'read in: {len(rs.inds)} records') return cf, rs
def test_record_life_cycle(): id = '01234567890-c01' initial_record = dict(id=id, title='hello world', description='etc.') updated_record = dict(id=id, title='another title') store = Records() # empty store assert store.read(id=id) is None assert id == store.write(**initial_record) record = store.read(id=id) for key in initial_record.keys(): assert record[key] == initial_record[key] store.write(**updated_record) # update some field record = store.read(id=id) for key in updated_record.keys(): assert record[key] == updated_record[key] for key in initial_record.keys(): assert key in record.keys() store.delete(id=id) # delete the record assert store.read(id=id) is None