In this recipe, we will stub a method that returns a value so that it returns our desired result.
For this recipe, our system under test will be MeanTaxFactorCalculator
, which calls TaxFactorFetcher
twice to get a tax factor for the given person and then calculates a mean value for those two results as follows:
public class MeanTaxFactorCalculator { private final TaxFactorFetcher taxFactorFetcher; public MeanTaxFactorCalculator(TaxFactorFetcher taxFactorFetcher) { this.taxFactorFetcher = taxFactorFetcher; } public double calculateMeanTaxFactorFor(Person person) { double taxFactor = taxFactorFetcher.getTaxFactorFor(person); double anotherTaxFactor = taxFactorFetcher.getTaxFactorFor(person); return (taxFactor + anotherTaxFactor) / 2; } }