def METHOD_NAME(self):
    examinee = self.examinee()
    examinee.add_step(self.pipeline_step(name='do_something'))
    examinee.add_step(self.pipeline_step(
        name='synthetic_foo',
        is_synthetic=True,
        depends=['do_something', 'post_foo_step']
    ))
    examinee.add_step(self.pipeline_step(name='post_foo_step', depends=['synthetic_foo']))
    ordered_steps = tuple(examinee.ordered_steps())
    assert len(ordered_steps) == 2 # ('do_something', 'synthetic_foo'), then 'post_foo_step',
    first_two_steps, last_step = ordered_steps
    assert len(first_two_steps) == 2
    assert len(last_step) == 1
    assert set(first_two_steps) == {'do_something', 'synthetic_foo'}
    assert last_step[0] == 'post_foo_step'