Simple fakes with contract tests (inspired by RSpec)