Como testar classes com métodos privados, campos e classes internas em Java?
Olá a todos. Sou novo em Java e testes unitários, estou usando JUnit 5. Tenho uma classe `OrderProcessor` que contém métodos privados, campos privados e uma classe interna. Não entendo como escrever testes corretamente para ela.
Aqui está um exemplo da minha classe:
```java
public class OrderProcessor {
private final PaymentGateway gateway;
private List items = new ArrayList<>();
public OrderProcessor(PaymentGateway gateway) {
this.gateway = gateway;
}
public boolean processOrder(Order order) {
if (!validateOrder(order)) {
return false;
}
double total = calculateTotal(order);
return gateway.charge(order.getCustomer(), total);
}
private boolean validateOrder(Order order) {
return order != null && order.getItems() != null && !order.getItems().isEmpty();
}
private double calculateTotal(Order order) {
double sum = 0;
for (OrderItem item : order.getI