package com.blogspot.toomuchcoding.book.chapter1._5_AddingMockitoHintsToExceptionMessages.consolespamming.assertj; import com.blogspot.toomuchcoding.book.chapter1._5_AddingMockitoHintsToExceptionMessages.MeanTaxFactorCalculator; import com.blogspot.toomuchcoding.book.chapter1._5_AddingMockitoHintsToExceptionMessages.TaxService; import com.blogspot.toomuchcoding.person.Person; import org.junit.ComparisonFailure; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.mockito.runners.ConsoleSpammingMockitoJUnitRunner; import static org.assertj.core.api.BDDAssertions.then; import static org.mockito.BDDMockito.given; @RunWith(ConsoleSpammingMockitoJUnitRunner.class) public class MeanTaxFactorCalculatorTest { /** * ConsoleSpammingMockitoJUnitRunner appends a listener that logs additional warning messages to the console */ static final double UNUSED_VALUE = 10; @Test(expected = ComparisonFailure.class) public void should_calculate_mean_tax_factor() { // given TaxService taxService = given(Mockito.mock(TaxService.class).performAdditionalCalculation()).willReturn(UNUSED_VALUE).getMock(); MeanTaxFactorCalculator systemUnderTest = new MeanTaxFactorCalculator(taxService); // when double meanTaxFactor = systemUnderTest.calculateMeanTaxFactorFor(new Person()); // then then(meanTaxFactor).isEqualTo(UNUSED_VALUE); } }