public async Task <double> Apply(double amount, string postalCode) { // Logic is as simple as possible because the goal is to explore the testing options, not the complexity of the problem. var response = await _locationClient.GetDetails(postalCode); if (response.Province == "QC") { return(amount * QuebecTaxRate); } else { return(amount * RestOfCanadaTaxRate); } }