def test_colliding_streams(fresh_RE): RE = fresh_RE motor = Mover('motor', {'motor': lambda x: x}, {'x': 0}) motor1 = Mover('motor1', {'motor1': lambda x: x}, {'x': 0}) collector = {'primary': [], 'baseline': []} descs = {} def local_cb(name, doc): if name == 'descriptor': descs[doc['uid']] = doc['name'] elif name == 'event': collector[descs[doc['descriptor']]].append(doc) RE( bp.baseline_wrapper( bp.outer_product_scan([motor], motor, -1, 1, 5, motor1, -5, 5, 7, True), [motor, motor1]), local_cb) assert len(collector['primary']) == 35 assert len(collector['baseline']) == 2 assert list(range(1, 36)) == [e['seq_num'] for e in collector['primary']] assert list(range(1, 3)) == [e['seq_num'] for e in collector['baseline']]
def step_scan_with_distinct_baseline(mds): "'baseline' and 'primary' event stream use different dets" RE = RE_with_mds(mds) RE(baseline_wrapper(scan([det], motor, 1, 5, 5), [det1]))
def step_scan_with_distinct_baseline(mds): "'baseline' and 'primary' event stream use different dets" RE = RE_with_mds(mds) return RE(baseline_wrapper(scan([det], motor, 1, 5, 5), [det1]))
def step_scan_with_overlapping_baseline(mds): "same det in 'baseline' and in 'primary' event stream" RE = RE_with_mds(mds) RE(baseline_wrapper(scan([det], motor, 1, 5, 5), [det]))
def step_scan_with_overlapping_baseline(mds): "same det in 'baseline' and in 'primary' event stream" RE = RE_with_mds(mds) return RE(baseline_wrapper(scan([det], motor, 1, 5, 5), [det]))