// Path: chapter03/src/main/java/com/blogspot/toomuchcoding/book/chapter3/_5_DelegateTo/TaxService.java
// public interface TaxService {
// 
//     double calculateTaxFactorFor(Person person);
// 
//     void updateTaxData(double taxFactor, Person person);
// 
// }


import com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.FinalTaxService;
import com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.TaxFactorProcessor;
import com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.TaxService;
import com.blogspot.toomuchcoding.common.testng.MockitoTestNGListener;
import com.blogspot.toomuchcoding.person.Person;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import static org.assertj.core.api.BDDAssertions.then;
import static org.mockito.AdditionalAnswers.delegatesTo;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyDouble;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.mock;
package com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.assertj;



@Listeners(MockitoTestNGListener.class)
public class TaxFactorProcessorTestNgTest {

    FinalTaxService finalTaxService = new FinalTaxService();

// Path: chapter03/src/main/java/com/blogspot/toomuchcoding/book/chapter3/_5_DelegateTo/TaxService.java
// public interface TaxService {
// 
//     double calculateTaxFactorFor(Person person);
// 
//     void updateTaxData(double taxFactor, Person person);
// 
// }


// Path: chapter03/src/test/java/com/blogspot/toomuchcoding/book/chapter3/_5_DelegateTo/assertj/TaxFactorProcessorTestNgTest.java
import com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.FinalTaxService;
import com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.TaxFactorProcessor;
import com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.TaxService;
import com.blogspot.toomuchcoding.common.testng.MockitoTestNGListener;
import com.blogspot.toomuchcoding.person.Person;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import static org.assertj.core.api.BDDAssertions.then;
import static org.mockito.AdditionalAnswers.delegatesTo;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyDouble;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.mock;

package com.blogspot.toomuchcoding.book.chapter3._5_DelegateTo.assertj;



@Listeners(MockitoTestNGListener.class)
public class TaxFactorProcessorTestNgTest {

    FinalTaxService finalTaxService = new FinalTaxService();

    TaxService taxService = mock(TaxService.class, delegatesTo(finalTaxService));