skip input lines with // or # or ; in front

ignore sonarlint issue store
master
Lothar Buchholz 5 years ago
parent d6c639a323
commit f876f51e51

3
.gitignore vendored

@ -28,12 +28,11 @@ local.properties
bin/ bin/
# IntelliJ # IntelliJ
*.iml
*.ipr
*.iws *.iws
*.uml *.uml
.idea/compiler.xml .idea/compiler.xml
.idea/workspace.xml .idea/workspace.xml
.idea/sonarlint/
out/ out/
# NDK # NDK

@ -9,6 +9,7 @@ import org.junit.jupiter.params.provider.CsvFileSource;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
@ -21,10 +22,14 @@ class SolutionTest {
protected Object convert( Object source, Class<?> targetType ) throws ArgumentConversionException { protected Object convert( Object source, Class<?> targetType ) throws ArgumentConversionException {
try { try {
assertEquals( String.class, targetType, "Can only convert to String" ); assertEquals( String.class, targetType, "Can only convert to String" );
assertTrue( source instanceof String, "Can only convert to String" );
final InputStream resource = SolutionTest.class.getResourceAsStream( String.valueOf( source )); final InputStream resource = SolutionTest.class.getResourceAsStream( String.valueOf( source ));
if ( null == resource ) { if ( null == resource ) {
if ( ((String) source).matches( "^(?!//|#|;).+" )) {
return source; return source;
} }
return null;
}
BufferedReader res = new BufferedReader( new InputStreamReader( resource )); BufferedReader res = new BufferedReader( new InputStreamReader( resource ));
return res.lines().collect( Collectors.joining( System.lineSeparator() )); return res.lines().collect( Collectors.joining( System.lineSeparator() ));
@ -52,12 +57,13 @@ class SolutionTest {
@CsvFileSource( resources = "testdata.csv" ) @CsvFileSource( resources = "testdata.csv" )
void main( @ConvertWith( FileContentConverter.class ) final String input, void main( @ConvertWith( FileContentConverter.class ) final String input,
@ConvertWith( MultilineConverter.class ) final String expected ) throws Exception { @ConvertWith( MultilineConverter.class ) final String expected ) throws Exception {
if ( Objects.nonNull( input )) {
String output = SystemLambda.tapSystemOut( () -> String output = SystemLambda.tapSystemOut( () ->
SystemLambda.withTextFromSystemIn( input ) SystemLambda.withTextFromSystemIn( input )
.execute( () -> Solution.main( new String[0] )) .execute( () -> Solution.main( new String[0] ))
); );
assertEquals( expected, output.trim() ); assertEquals( expected, output.trim() );
} }
}
} }

Loading…
Cancel
Save