You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package de.edu.hsfulda.ciip.tdd;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.util.Arrays; import java.util.List;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension;
@ExtendWith(MockitoExtension.class) class TannenbaumUiTest {
@Mock PrintStream output;
@Mock InputStream input;
@Test void parseUserInputToInteger() throws IOException { Mockito.doReturn(1).when(input).available(); Mockito.doReturn((int) '7').when(input).read(); int expected = 7;
int treeSize = new TannenbaumUi(input, output).getTreeSize();
assertEquals(expected, treeSize, "tree size");
InOrder inOrder = Mockito.inOrder(input, output);
inOrder.verify(output).println(TannenbaumUi.TREE_SIZE_PROMPT); inOrder.verify(input).available(); }
@Test void parseUserInputToInteger2() throws IOException { Mockito.doReturn(1).when(input).available(); Mockito.doReturn((int) '9').when(input).read(); int expected = 9;
int treeSize = new TannenbaumUi(input, output).getTreeSize();
assertEquals(expected, treeSize, "tree size"); }
@Test void parseUserInputToInteger2Digits() throws IOException { Mockito.doReturn(2).when(input).available(); Mockito.doReturn((int) '3').doReturn((int) '5').when(input).read(); int expected = 35;
int treeSize = new TannenbaumUi(input, output).getTreeSize();
assertEquals(expected, treeSize, "tree size"); }
@Test void writeSingleLine() throws Exception { String message = "hello world";
new TannenbaumUi(input, output).print(Arrays.asList(message));
Mockito.verify(output).println(message); }
@Test void writeMultipeleLines() throws Exception { List<String> messageLines = Arrays.asList("hello", "world");
new TannenbaumUi(input, output).print(messageLines);
Mockito.verify(output).println(messageLines.get(0)); Mockito.verify(output).println(messageLines.get(1)); } }
|