Skip to content

Commit

Permalink
Turn ExecutionResult into record
Browse files Browse the repository at this point in the history
  • Loading branch information
atextor committed May 5, 2021
1 parent 344bcf8 commit 1424557
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 32 deletions.
2 changes: 0 additions & 2 deletions cli/src/main/java/de/atextor/owlcli/OWLCLI.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,4 @@ public void run() {

System.out.println( commandLine.getHelp().fullSynopsis() );
}


}
18 changes: 9 additions & 9 deletions cli/src/test/java/de/atextor/owlcli/CommandLineTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,28 +26,28 @@ public void testNoArguments() {
final Runnable command = () -> OWLCLI.main( new String[]{} );
final MainClassRunner.ExecutionResult result = run( command );

assertThat( result.getExitStatus() ).isEqualTo( 0 );
assertThat( result.getStdOut() ).contains( "Usage: " );
assertThat( result.getStdErr() ).isEmpty();
assertThat( result.exitStatus() ).isEqualTo( 0 );
assertThat( result.stdOut() ).contains( "Usage: " );
assertThat( result.stdErr() ).isEmpty();
}

@Test
public void testHelp() {
final Runnable command = () -> OWLCLI.main( new String[]{ "--help" } );
final MainClassRunner.ExecutionResult result = run( command );

assertThat( result.getExitStatus() ).isEqualTo( 0 );
assertThat( result.getStdOut() ).contains( "Usage: " );
assertThat( result.getStdErr() ).isEmpty();
assertThat( result.exitStatus() ).isEqualTo( 0 );
assertThat( result.stdOut() ).contains( "Usage: " );
assertThat( result.stdErr() ).isEmpty();
}

@Test
public void testInvalidArguments() {
final Runnable command = () -> OWLCLI.main( new String[]{ "definitelynotavalidargument" } );
final MainClassRunner.ExecutionResult result = run( command );

assertThat( result.getExitStatus() ).isEqualTo( 1 );
assertThat( result.getStdOut() ).isEmpty();
assertThat( result.getStdErr() ).contains( "Error: " );
assertThat( result.exitStatus() ).isEqualTo( 1 );
assertThat( result.stdOut() ).isEmpty();
assertThat( result.stdErr() ).contains( "Error: " );
}
}
28 changes: 14 additions & 14 deletions cli/src/test/java/de/atextor/owlcli/DiagramCommandTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,19 @@ public void testWithoutParameters() {
final Runnable command = () -> OWLCLI.main( new String[]{ "diagram" } );
final MainClassRunner.ExecutionResult result = run( command );

assertThat( result.getExitStatus() ).isEqualTo( 1 );
assertThat( result.getStdOut() ).isEmpty();
assertThat( result.getStdErr() ).contains( "Error: " );
assertThat( result.exitStatus() ).isEqualTo( 1 );
assertThat( result.stdOut() ).isEmpty();
assertThat( result.stdErr() ).contains( "Error: " );
}

@Test
public void testWithInvalidInput() {
final Runnable command = () -> OWLCLI.main( new String[]{ "diagram", "definitelynotexistingfile" } );
final MainClassRunner.ExecutionResult result = run( command );

assertThat( result.getExitStatus() ).isEqualTo( 1 );
assertThat( result.getStdOut() ).isEmpty();
assertThat( result.getStdErr() ).contains( "Error: " );
assertThat( result.exitStatus() ).isEqualTo( 1 );
assertThat( result.stdOut() ).isEmpty();
assertThat( result.stdErr() ).contains( "Error: " );
}

@ParameterizedTest
Expand All @@ -77,19 +77,19 @@ public void testDiagramGeneration( final String testFileName ) throws IOExceptio
final Runnable command = () -> OWLCLI.main( new String[]{ "diagram", output.getAbsolutePath() } );
final MainClassRunner.ExecutionResult result = run( command );

System.out.println( result.getStdOut() );
System.out.println( result.getStdErr() );
System.out.println( result.stdOut() );
System.out.println( result.stdErr() );

if ( result.getExitStatus() != 0 ) {
if ( result.exitStatus() != 0 ) {
System.out.println( "Something went wrong:" );
System.out.println( "=== stdout ===" );
System.out.println( result.getStdOut() );
System.out.println( result.stdOut() );
System.out.println( "=== stderr ===" );
System.out.println( result.getStdErr() );
System.out.println( result.stdErr() );
}
assertThat( result.getExitStatus() ).isEqualTo( 0 );
assertThat( result.getStdOut() ).isEmpty();
assertThat( result.getStdErr() ).isEmpty();
assertThat( result.exitStatus() ).isEqualTo( 0 );
assertThat( result.stdOut() ).isEmpty();
assertThat( result.stdErr() ).isEmpty();

final File writtenFile = tempDir.resolve( testFileName + ".svg" ).toFile();
assertThat( writtenFile ).isFile();
Expand Down
8 changes: 1 addition & 7 deletions cli/src/test/java/de/atextor/owlcli/MainClassRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,11 @@

package de.atextor.owlcli;

import lombok.Value;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

public class MainClassRunner {
@Value
static class ExecutionResult {
int exitStatus;
String stdOut;
String stdErr;
record ExecutionResult(int exitStatus, String stdOut, String stdErr) {
}

public static ExecutionResult run( final Runnable runnable ) {
Expand Down

0 comments on commit 1424557

Please sign in to comment.