### Question:
HBaseClient { public void deleteRow(final String tableName, final Object rowKey) { if (tableName == null || rowKey == null) { throw new IllegalArgumentException("Can't delete a row without having tableName or rowKey"); } byte[] rowKeyAsByteArray = getValueAsByteArray(rowKey); if (rowKeyAsByteArray.length > 0) { try (final Table table = _connection.getTable(TableName.valueOf(tableName))) { if (rowExists(table, rowKeyAsByteArray)) { table.delete(new Delete(rowKeyAsByteArray)); } else { logger.warn("Rowkey with value {} doesn't exist in the table", rowKey.toString()); } } catch (IOException e) { throw new MetaModelException(e); } } else { throw new IllegalArgumentException("Can't delete a row without an empty rowKey."); } } 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 testDeleteRowWithTableNameNull() { exception.expect(IllegalArgumentException.class); exception.expectMessage("Can't delete a row without having tableName or rowKey"); new HBaseClient(getDataContext().getConnection()).deleteRow(null, new String("1")); }
@Test public void testDeleteRowWithRowKeyNull() { exception.expect(IllegalArgumentException.class); exception.expectMessage("Can't delete a row without having tableName or rowKey"); new HBaseClient(getDataContext().getConnection()).deleteRow("tableName", null); }