The Free Ride

Definition:

  • When an extra assertion is added in an existing test to cover a new scenario case

Also Known As:

  • Eager Test

Code Example:

public void CalculateDiscount_ExpectedDiscountForFirstTimePurchase()
{
    //Arrange
    decimal expected = 0.1M;
    decimal expectedResultAge = 0.2M;

    var sut = new DiscountCalculator();

    //Act
    var result = sut.CalculateDiscount(true, 30);
    var resultAge = sut.CalculateDiscount(false, 65);

    //Assert
    Assert.Equal(expected, result);
    Assert.Equal(expectedResultAge, resultAge);
}

References:

Quality attributes

  • - Code Example

  • - Cause and Effect

  • - Frequency

  • - Refactoring