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
getTotalPriceandgetTotalItemsreturn the correct value.