### Question:
ScannerOptions implements ScannerBase { @Override public synchronized void fetchColumn(Text colFam, Text colQual) { checkArgument(colFam != null, "colFam is null"); checkArgument(colQual != null, "colQual is null"); Column c = new Column(TextUtil.getBytes(colFam), TextUtil.getBytes(colQual), null); fetchedColumns.add(c); } protected  ScannerOptions();  ScannerOptions(ScannerOptions so); @Override synchronized void addScanIterator(IteratorSetting si); @Override synchronized void removeScanIterator(String iteratorName); @Override synchronized void updateScanIteratorOption(String iteratorName, String key, String value); @Override synchronized void fetchColumnFamily(Text col); @Override synchronized void fetchColumn(Text colFam, Text colQual); @Override void fetchColumn(IteratorSetting.Column column); @Override synchronized void clearColumns(); synchronized SortedSet<Column> getFetchedColumns(); @Override synchronized void clearScanIterators(); @Override Iterator<Entry<Key,Value>> iterator(); @Override synchronized void setTimeout(long timeout, TimeUnit timeUnit); @Override synchronized long getTimeout(TimeUnit timeunit); @Override void close(); @Override Authorizations getAuthorizations(); @Override synchronized void setSamplerConfiguration(SamplerConfiguration samplerConfig); @Override synchronized SamplerConfiguration getSamplerConfiguration(); @Override synchronized void clearSamplerConfiguration(); @Override void setBatchTimeout(long timeout, TimeUnit timeUnit); @Override long getBatchTimeout(TimeUnit timeUnit); @Override void setClassLoaderContext(String classLoaderContext); @Override void clearClassLoaderContext(); @Override String getClassLoaderContext(); @Override synchronized void setExecutionHints(Map<String,String> hints);  }### Answer:
@Test public void testFetchColumn() { try (ScannerOptions options = new ScannerOptions()) { assertEquals(0, options.getFetchedColumns().size()); IteratorSetting.Column col = new IteratorSetting.Column(new Text("family"), new Text("qualifier")); options.fetchColumn(col); SortedSet<Column> fetchedColumns = options.getFetchedColumns(); assertEquals(1, fetchedColumns.size()); Column fetchCol = fetchedColumns.iterator().next(); assertEquals(col.getColumnFamily(), new Text(fetchCol.getColumnFamily())); assertEquals(col.getColumnQualifier(), new Text(fetchCol.getColumnQualifier())); } }
@Test(expected = IllegalArgumentException.class) public void testFetchNullColumn() { try (ScannerOptions options = new ScannerOptions()) { options.fetchColumn(null); } }