I have a calculator that takes input and prints result. For example: Input to scanner: 2+3+4= Prints: 9.00
I want to test this main method in Junit. This is how far I came so far(Operator is the class):
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.PrintStream;
import org.junit.Before;
import org.junit.jupiter.api.Test;
class MainTester {
private final ByteArrayOutputStream resultByte = new ByteArrayOutputStream();
private final PrintStream result = System.out;
@Before
public void setUp() {
System.setOut(new PrintStream(resultByte));
}
@Test
void test() {
Operator operator = new Operator();
String input = "2+3+4=";
InputStream in = new ByteArrayInputStream(input.getBytes());
System.setIn(in);
String[] args = null;
System.out.println(operator.main(args));
assertEquals("9.00", resultByte.toString());
}
}
Aucun commentaire:
Enregistrer un commentaire