### Question:
HBaseClient { public void createTable(final String tableName, final Set<String> columnFamilies) { checkTableAndColumnFamilies(tableName, columnFamilies); try (final Admin admin = _connection.getAdmin()) { final TableDescriptorBuilder tableBuilder = getTableDescriptorBuilder(tableName, columnFamilies); admin.createTable(tableBuilder.build()); } catch (IOException e) { throw new MetaModelException(e); } } HBaseClient(final Connection connection); void insertRow(final String tableName, final HBaseColumn[] columns, final Object[] values,
            final int indexOfIdColumn); void deleteRow(final String tableName, final Object rowKey); void createTable(final String tableName, final Set<String> columnFamilies); void createTable(final String tableName, final Set<String> columnFamilies, byte[][] splitKeys); void dropTable(final String tableName);  }### Answer:
@Test public void testCreateTableWithTableNameNull() { exception.expect(IllegalArgumentException.class); exception.expectMessage("Can't create a table without having the tableName or columnFamilies"); final Set<String> columnFamilies = new LinkedHashSet<>(); columnFamilies.add("1"); new HBaseClient(getDataContext().getConnection()).createTable(null, columnFamilies); }
@Test public void testCreateTableWithColumnFamiliesNull() { exception.expect(IllegalArgumentException.class); exception.expectMessage("Can't create a table without having the tableName or columnFamilies"); new HBaseClient(getDataContext().getConnection()).createTable("1", null); }
@Test public void testCreateTableWithColumnFamiliesEmpty() { exception.expect(IllegalArgumentException.class); exception.expectMessage("Can't create a table without having the tableName or columnFamilies"); final Set<String> columnFamilies = new LinkedHashSet<>(); new HBaseClient(getDataContext().getConnection()).createTable("1", columnFamilies); }