#1313 Add Separated Interface design pattern

This commit is contained in:
swarajsaaj
2020-09-10 02:57:56 +05:30
parent ef326ee77e
commit f6942cf18d
13 changed files with 527 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
package com.iluwatar.separatedinterface.invoice;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import static org.mockito.Mockito.*;
public class InvoiceGeneratorTest {
private InvoiceGenerator target;
@Test
public void testGenerateTax() {
var productCost = 50.0;
var tax = 10.0;
TaxCalculator taxCalculatorMock = mock(TaxCalculator.class);
doReturn(tax).when(taxCalculatorMock).calculate(productCost);
target = new InvoiceGenerator(productCost, taxCalculatorMock);
Assertions.assertEquals(target.getAmountWithTax(), productCost + tax);
verify(taxCalculatorMock, times(1)).calculate(productCost);
}
}