Skip to content

Instantly share code, notes, and snippets.

@IntegerMan
Created December 7, 2019 15:34
Embed
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