I have the following classes:
class LibraryClass implements LibraryInterface {
@Override
public void calculate(Order order)
{
//some logic
}
@Override
protected void findAll(Order order)
{
//some logic
}
protected Map resetAllValues(Order order)
{
//some logic
}
@Override
protected void sum(order) {//somelogic}
}
class MyCustomClass extends LibraryClass {
@Override
public void calculate(Order order)
{
findAll(order);
}
@Override
protected void findAll(Order order)
{
//some logic
final Map taxValueMap = resetAllValues(order);
sum(order);
}
@Override
protected void sum(order)
{
int totalCount = getTotalPrice(order);
int totalItems = getTotalItems(order);
}
private int getTotalPrice(Order order) { ...}
private int getTotalItems(Order order) { ...}
}
Where LibaryClass
and LibraryInterface
are from a library that I cannot change and I have implemented MyCustomClass
. My goal is with Mockito to verify that the values of totalCount
and totalItems
are some expected value when I pass in calculate method some order.
Now I got stumbled across 2 problems:
resetAllValues(order)
- I want to make this method return an empty map with Mockito, but I can't because the method is protected. If I don't make this method return an empty map for example it tries to make DB calls and throws exceptions.If I manage somehow to do 1., then how should I verify that the returned values from the private methods
getTotalPrice
andgetTotalItems
return the correct value.