### Question:
RocksDBNativeMetricMonitor implements Closeable { void registerColumnFamily(String columnFamilyName, ColumnFamilyHandle handle) { MetricGroup group = metricGroup.addGroup(columnFamilyName); for (String property : options.getProperties()) { RocksDBNativeMetricView gauge = new RocksDBNativeMetricView(handle, property); group.gauge(property, gauge); } } RocksDBNativeMetricMonitor(
		@Nonnull RocksDBNativeMetricOptions options,
		@Nonnull MetricGroup metricGroup,
		@Nonnull RocksDB rocksDB
	); @Override void close();  }### Answer:
@Test public void testReturnsUnsigned() throws Throwable { RocksDBResource localRocksDBResource = new RocksDBResource(); localRocksDBResource.before(); SimpleMetricRegistry registry = new SimpleMetricRegistry(); GenericMetricGroup group = new GenericMetricGroup( registry, UnregisteredMetricGroups.createUnregisteredTaskMetricGroup(), OPERATOR_NAME ); RocksDBNativeMetricOptions options = new RocksDBNativeMetricOptions(); options.enableSizeAllMemTables(); RocksDBNativeMetricMonitor monitor = new RocksDBNativeMetricMonitor( options, group, localRocksDBResource.getRocksDB() ); ColumnFamilyHandle handle = rocksDBResource.createNewColumnFamily(COLUMN_FAMILY_NAME); monitor.registerColumnFamily(COLUMN_FAMILY_NAME, handle); RocksDBNativeMetricMonitor.RocksDBNativeMetricView view = registry.metrics.get(0); view.setValue(-1); BigInteger result = view.getValue(); localRocksDBResource.after(); Assert.assertEquals("Failed to interpret RocksDB result as an unsigned long", 1, result.signum()); }