### Question:
ReaderProjectionsAdapter { public Page adaptPage(Page input) { if (input == null) { return null; } Block[] blocks = new Block[outputToInputMapping.size()]; for (int i = 0; i < outputToInputMapping.size(); i++) { ChannelMapping mapping = outputToInputMapping.get(i); Block inputBlock = input.getBlock(mapping.getInputChannelIndex()); blocks[i] = createAdaptedLazyBlock(inputBlock, mapping.getDereferenceSequence(), outputTypes.get(i)); } return new Page(input.getPositionCount(), blocks); } ReaderProjectionsAdapter(List<HiveColumnHandle> expectedHiveColumns, ReaderProjections readerProjections); Page adaptPage(Page input);  }### Answer:
@Test public void testAdaptPage() { List<HiveColumnHandle> columns = ImmutableList.of( createProjectedColumnHandle(TEST_FULL_COLUMNS.get("col"), ImmutableList.of(0, 0)), createProjectedColumnHandle(TEST_FULL_COLUMNS.get("col"), ImmutableList.of(0))); Optional<ReaderProjections> readerProjections = projectBaseColumns(columns); List<Object> inputBlockData = new ArrayList<>(); inputBlockData.add(rowData(rowData(11L, 12L, 13L), 1L)); inputBlockData.add(rowData(null, 2L)); inputBlockData.add(null); inputBlockData.add(rowData(rowData(31L, 32L, 33L), 3L)); ReaderProjectionsAdapter adapter = new ReaderProjectionsAdapter(columns, readerProjections.get()); verifyPageAdaptation(adapter, ImmutableList.of(inputBlockData)); }