Actually test which blocks `Scientist.run` runs
Actually test which blocks `Scientist.run` runs

When I change `lib/scientist.rb` line 27 from:
  `experiment.run(test)`
to:
  `experiment.run`

and run only the tests in `test/scientist_test.rb` file...

- "runs control when there is a nil named test" passes, and
- "runs the named test instead of the control" fails, BUT not because
it failed an assertion -- instead it raises Scientist::BehaviorMissing,
which doesn't *directly* point to what the test purports to be testing.

(If I compound my sins by changing Experiment to return `true` instead
of raising the BehaviorMissing error, both tests pass.  Granted, other
tests on Experiment fail, so not all is gloom.)

The test suite overall did what it was supposed to in a TDD process --
namely, fail without the intended behavior.  However, that behavior is
only tested indirectly, and the tests are misleading to a new reader.
These two specific tests, as well, may not properly prevent regressions.

I've changed these two tests so that they capture what I believe to be
the actual intent as expressed in the test names -- namely, that one
block is executed and the other is not.

I don't love the visual clutter, but I don't see a better way around it
without using mocks, which would be considerably more fraught.  :)
github/scientist,github/scientist