### Question:
Readables { public static CharReadable files( Charset charset, File... files ) throws IOException { IOFunction<File,CharReadable> opener = new FromFile( charset ); switch ( files.length ) { case 0: return EMPTY; case 1: return opener.apply( files[0] ); default: return new MultiReadable( iterator( opener, files ) ); } } private  Readables(); static CharReadable wrap( final InputStream stream, final String sourceName, Charset charset ); static CharReadable wrap( final InputStream stream, final String sourceName, Charset charset, long length ); static CharReadable wrap( String data ); static CharReadable wrap( final Reader reader, long length ); static RawIterator<CharReadable,IOException> individualFiles( Charset charset, File... files ); static CharReadable files( Charset charset, File... files ); @SafeVarargs static RawIterator<OUT,IOException> iterator( ThrowingFunction<IN,OUT,IOException> converter, IN... items ); static char[] extractFirstLineFrom( CharReadable source ); static final CharReadable EMPTY; }### Answer:
@Test public void shouldFailWhenThereAreMoreThanOneSuitableFileInThere() throws Exception { String text = "abcdefghijlkmnopqrstuvxyz"; File compressed = compressWithZip( text, ".nothing", ".DS_Store", "somewhere/something" ); CharReadable readable; try { readable = Readables.files( Charset.defaultCharset(), compressed ); fail( "Should fail since there are multiple suitable files in the zip archive" ); } catch ( IOException e ) { assertThat( e.getMessage(), containsString( "Multiple" ) ); } }