@Test
public void testGetMultipleRowsFirstColumn() {
AbstractTransaction transaction = mock(AbstractTransaction.class);
SortedMap<byte[], RowResult<byte[]>> resultsMap = new TreeMap<>(UnsignedBytes.lexicographicalComparator());
addToResultsMap(resultsMap, TEST_ROW_KEY, FIRST_COL_SHORT_NAME, encodeLong(TEST_VALUE_LONG));
addToResultsMap(resultsMap, TEST_ROW_KEY2, FIRST_COL_SHORT_NAME, encodeLong(TEST_VALUE_LONG2));
when(transaction.getRows(eq(tableRef), any(), eq(FIRST_COLUMN_SELECTION))).thenReturn(resultsMap);
Map<String, Long> result = getMultipleRowsFirstColumn(transaction, Arrays.asList(TEST_ROW_KEY, TEST_ROW_KEY2));
assertThat(result).isEqualTo(ImmutableMap.of(TEST_ROW_KEY, TEST_VALUE_LONG, TEST_ROW_KEY2, TEST_VALUE_LONG2));
ArgumentCaptor<Iterable> argument = ArgumentCaptor.forClass(Iterable.class);
verify(transaction, times(1))
.getRows(eq(tableRef), argument.capture(), eq(FIRST_COLUMN_SELECTION));
List<byte[]> argumentRows = Lists.newArrayList(argument.getValue());
assertThat(argumentRows.size()).isEqualTo(2);
assertThat(argumentRows.get(0))
.usingComparator(UnsignedBytes.lexicographicalComparator())
.isEqualTo(PtBytes.toBytes(TEST_ROW_KEY));
assertThat(argumentRows.get(1))
.usingComparator(UnsignedBytes.lexicographicalComparator())
.isEqualTo(PtBytes.toBytes(TEST_ROW_KEY2));
}