Skip to content

Instantly share code, notes, and snippets.

Created December 7, 2019 15:34
What would you like to do?
public MortgageResult ApplyForMortgage(MortgageApplication app) {
var oldProcessor = new LegacyProcessor(EmailFacade.Instance);
var newProcessor = new ExperimentalProcessor(new FakeEmailSender()); // or null potentially
return Scientist.Science<MortgageResult>(
"Side effects are bad",
experiment =>
experiment.Use(() => oldProcessor.Analyze(app));
experiment.Try(() => newProcessor.Analyze(app));
experiment.Compare((x, y) => x.Score == y.Score);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment