commit
aad40a8de2
|
@ -7,6 +7,10 @@
|
||||||
<name>core-java-arrays-guides</name>
|
<name>core-java-arrays-guides</name>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<system-stubs.jupiter.version>2.1.5</system-stubs.jupiter.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<artifactId>core-java-modules</artifactId>
|
<artifactId>core-java-modules</artifactId>
|
||||||
<groupId>com.baeldung.core-java-modules</groupId>
|
<groupId>com.baeldung.core-java-modules</groupId>
|
||||||
|
@ -24,6 +28,13 @@
|
||||||
<artifactId>jmh-generator-annprocess</artifactId>
|
<artifactId>jmh-generator-annprocess</artifactId>
|
||||||
<version>${jmh-generator.version}</version>
|
<version>${jmh-generator.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>uk.org.webcompere</groupId>
|
||||||
|
<artifactId>system-stubs-jupiter</artifactId>
|
||||||
|
<version>${system-stubs.jupiter.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.baeldung.print2darrays;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
|
||||||
|
import uk.org.webcompere.systemstubs.jupiter.SystemStub;
|
||||||
|
import uk.org.webcompere.systemstubs.jupiter.SystemStubsExtension;
|
||||||
|
import uk.org.webcompere.systemstubs.stream.SystemOut;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
@ExtendWith(SystemStubsExtension.class)
|
||||||
|
public class Print2DArraysUnitTest {
|
||||||
|
|
||||||
|
@SystemStub
|
||||||
|
private SystemOut systemOut;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void whenPrint2dArrayUsingNestedLoop_thenLinesAreWrittenToSystemOut() {
|
||||||
|
int[][] myArray = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
|
||||||
|
for (int i = 0; i < myArray.length; i++) {
|
||||||
|
for (int j = 0; j < myArray[i].length; j++) {
|
||||||
|
System.out.print(myArray[i][j] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String expectedOutput = "1 2 3 4 5 6 7 8 9 ";
|
||||||
|
assertThat(systemOut.getLines()).containsExactly(expectedOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPrint2dArrayUsingStreams_thenLinesAreWrittenToSystemOut() {
|
||||||
|
int[][] myArray = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
|
||||||
|
Arrays.stream(myArray)
|
||||||
|
.flatMapToInt(Arrays::stream)
|
||||||
|
.forEach(num -> System.out.print(num + " "));
|
||||||
|
String expectedOutput = "1 2 3 4 5 6 7 8 9 ";
|
||||||
|
assertThat(systemOut.getLines()).containsExactly(expectedOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPrint2dArrayUsingDeepToString_thenLinesAreWrittenToSystemOut() {
|
||||||
|
int[][] myArray = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
|
||||||
|
System.out.println(Arrays.deepToString(myArray));
|
||||||
|
String expectedOutput = "[[1, 2, 3], [4, 5, 6], [7, 8, 9]]";
|
||||||
|
assertThat(systemOut.getLines()).containsExactly(expectedOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPrint2dArrayUsingArrayToString_thenLinesAreWrittenToSystemOut() {
|
||||||
|
int[][] myArray = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
|
||||||
|
for (int[] row : myArray) {
|
||||||
|
System.out.print(Arrays.toString(row));
|
||||||
|
}
|
||||||
|
String expectedOutput = "[1, 2, 3][4, 5, 6][7, 8, 9]";
|
||||||
|
assertThat(systemOut.getLines()).containsExactly(expectedOutput);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue