コード例 #1
0
ファイル: test_examples.py プロジェクト: chiahaoliu/bluesky
def _md(md):
    RE = RunEngine(md)
    RE.ignore_callback_exceptions = False
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan)  # missing owner, beamline_id
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan, owner='dan')
    scan = simple_scan(motor)
    RE(scan,
       owner='dan',
       beamline_id='his desk',
       group='some group',
       config={})  # this should work
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan)  # this should fail; none was persisted
    RE.md['owner'] = 'dan'
    RE.md['group'] = 'some group'
    RE.md['config'] = {}
    RE.md['beamline_id'] = 'his desk'
    scan = simple_scan(motor)
    RE(scan)  # this should work
    RE.md.clear()
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan)
    # We can prime the md directly.
    RE.md['owner'] = 'dan'
    RE.md['group'] = 'some group'
    RE.md['config'] = {}
    RE.md['beamline_id'] = 'his desk'
    scan = simple_scan(motor)
    RE(scan)

    # Check persistence.
    scan = simple_scan(motor)
    RE(scan, project='sitting')
    # 'project' should not persist
    scan = simple_scan(motor)
    RE(scan, subs={'start': [validate_dict_cb_opposite('project')]})
    # ...unless we add it to RE.md
    RE.md['project'] = 'sitting'
    scan = simple_scan(motor)
    RE(scan, subs={'start': [validate_dict_cb('project', 'sitting')]})
    # new values to 'project' passed in the call override the value in md
    scan = simple_scan(motor)
    RE(scan,
       project='standing',
       subs={'start': [validate_dict_cb('project', 'standing')]})
    # ...but they do not update the value in md
    assert_equal(RE.md['project'], 'sitting')
コード例 #2
0
ファイル: test_examples.py プロジェクト: pavoljuhas/bluesky
def _md(md):
    RE = RunEngine(md)
    RE.ignore_callback_exceptions = False
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan)  # missing owner, beamline_id
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan, owner='dan')
    scan = simple_scan(motor)
    RE(scan, owner='dan', beamline_id='his desk',
       group='some group', config={})  # this should work
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan)  # this should fail; none was persisted
    RE.md['owner'] = 'dan'
    RE.md['group'] = 'some group'
    RE.md['config'] = {}
    RE.md['beamline_id'] = 'his desk'
    scan = simple_scan(motor)
    RE(scan)  # this should work
    RE.md.clear()
    scan = simple_scan(motor)
    assert_raises(KeyError, RE, scan)
    # We can prime the md directly.
    RE.md['owner'] = 'dan'
    RE.md['group'] = 'some group'
    RE.md['config'] = {}
    RE.md['beamline_id'] = 'his desk'
    scan = simple_scan(motor)
    RE(scan)

    # Check persistence.
    scan = simple_scan(motor)
    RE(scan, project='sitting')
    # 'project' should not persist
    scan = simple_scan(motor)
    RE(scan, subs={'start': [validate_dict_cb_opposite('project')]})
    # ...unless we add it to RE.md
    RE.md['project'] = 'sitting'
    scan = simple_scan(motor)
    RE(scan, subs={'start': [validate_dict_cb('project', 'sitting')]})
    # new values to 'project' passed in the call override the value in md
    scan = simple_scan(motor)
    RE(scan, project='standing',
       subs={'start': [validate_dict_cb('project', 'standing')]})
    # ...but they do not update the value in md
    assert_equal(RE.md['project'], 'sitting')