Other specs in this codebase use the bourne gem to make assertions about stubbed calls after the method under test has been exercised, which makes them fit the four phase testing model better (setup, exercise, verify, teardown).

This example could be written as:

```ruby
t.stubs(execute: true)
f.stubs(execute: false)

Gitsh::Tree::Or.new(f, t).execute

expect(f).to have_received(:execute).once
expect(t).to have_received(:execute).once
```

In this spec the return values of `t.execute` and `f.execute` could be moved to the `let` blocks, which would reduce some repetition and simplify the test cases.