### Question:
CqlFilesMigrationService implements SchemaInstaller, MigrationService { @VisibleForTesting Iterable<String> subQueries(String schema) { Iterable<String> subQueries = Splitter.on(";").trimResults().split(schema); return Iterables.filter(subQueries, new Predicate<String>() { @Override public boolean apply(String query) { if (Strings.isNullOrEmpty(query) || System.lineSeparator().equals(query)) { return false; } return true; } }); } @Inject @VisibleForTesting  CqlFilesMigrationService(
			@Named(LoggerModule.MIGRATION) Logger logger,
			SchemaProducer schemaProducer,
			Provider<Session> sessionProvider); @Override void install(Version latestVersionUpdate); @Override void migrate(Version currentVersion, Version toVersion);  }### Answer:
@Test public void testSubQueriesEmptySchema() { String schema = ""; Iterable<String> subQueries = testee.subQueries(schema); assertThat(subQueries).isEmpty(); }
@Test public void testSubQueriesOneQuery() { String subQuery = "1\n2\n3"; String schema = subQuery + ";\n"; Iterable<String> subQueries = testee.subQueries(schema); assertThat(subQueries).containsOnly(subQuery); }
@Test public void testSubQueriesSomeQueries() { String subQuery = "1\n2\n3"; String subQuery2 = "4\n5"; String subQuery3 = "6\n7\n8\n9"; String separator = ";\n"; String schema = subQuery + separator + subQuery2 + separator + subQuery3 + separator; Iterable<String> subQueries = testee.subQueries(schema); assertThat(subQueries).containsOnly(subQuery, subQuery2, subQuery3); }