Simular inputs do usuário com Mockito em Java

Olá, meu código é totalmente dirigido à inputs do usuário, o que resulta em todas as classes herdarem ou receberem parâmetros para rodar/funcionar. Como preciso testar meu código com o Mockito, eu gostaria de saber como consigo testar uma classe que herda/recebe parâmetro sem rodar o código todo. Ou seja, simular inputs do usuário na classe específica que quero testar.

Abaixo um exemplo de uma classe que calcula o preço do produto que recebe por parametro:

public class CalculaPreco {
    private String produtoDeCalc;

    public CalculaPreco(String produto) {
	    this.produtoDeCalc = produto;
    }

public void precoProcuto(Pedido p) {
	System.out.println("Produto: " + produtoDeCalc);
	System.out.println("Printando o tipo do produto: " + produtoDeCalc.getClass().getSimpleName());
	
	if (produtoDeCalc.equals("pizza")) {
		p.setPreco(20.0f);
	}
	else if(produtoDeCalc.equals("coxinha")) {
		p.setPreco(3.0f);
	}
	else if(produtoDeCalc.equals("esfirra")) {
		p.setPreco(5.0f);
	}
	else {
		System.out.println("Não temos o seu pedido");
		System.out.println("Terminando pedido...");
		System.exit(0);
	}
   }
}

Vc soh vai precisar usar o mockito se quiser evitar acessos à recursos que vc não controla ou não está no escopo do seu teste.

No caso da classe CalculaPreco, vc consegue testar sem precisar de mockito.

obs.: Para evitar problemas para testar essa classe, tire esse System.exit(0) e coloque onde o método precoProcuto está sendo chamado.

Mas como eu conseguiria testar a classe sem os inputs do usuário?
Na hora que eu rodar o teste, meu código dá erro por não ter os inputs necessários

Fiz um teste que verifica o cenário onde o produto é pizza:

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

class CalculaPrecoTest {

	@Test
	void produtoPizza() {
		CalculaPreco calculaPreco = new CalculaPreco("pizza");
		Pedido pedido = new Pedido();
		
		calculaPreco.precoProcuto(pedido);
		
		Assertions.assertEquals(pedido.getPreco(), 20.0f);
	}
}