}
@Test
public void execute() {
Key startKey = new Key(new AttributeValue("startKey"));
AttributeValue attributeValue = new AttributeValue().withN("1985");
Condition condition = new Condition()
.withComparisonOperator(ComparisonOperator.GT.toString())
.withAttributeValueList(new AttributeValue().withN("1985"));
List<String> attributeNames = Arrays.asList("attrNameOne", "attrNameTwo");
exchange.getIn().setHeader(DdbConstants.ATTRIBUTE_NAMES, attributeNames);
exchange.getIn().setHeader(DdbConstants.EXACT_COUNT, true);
exchange.getIn().setHeader(DdbConstants.CONSISTENT_READ, true);
exchange.getIn().setHeader(DdbConstants.START_KEY, startKey);
exchange.getIn().setHeader(DdbConstants.HASH_KEY_VALUE, attributeValue);
exchange.getIn().setHeader(DdbConstants.LIMIT, 10);
exchange.getIn().setHeader(DdbConstants.SCAN_RANGE_KEY_CONDITION, condition);
exchange.getIn().setHeader(DdbConstants.SCAN_INDEX_FORWARD, true);
command.execute();
assertEquals(Integer.valueOf(1), exchange.getIn().getHeader(DdbConstants.COUNT, Integer.class));
assertEquals(Double.valueOf(1.0), exchange.getIn().getHeader(DdbConstants.CONSUMED_CAPACITY, Double.class));
assertEquals(new Key(new AttributeValue("LAST_KEY")), exchange.getIn().getHeader(DdbConstants.LAST_EVALUATED_KEY, Key.class));
Map<?, ?> items = (Map<?, ?>) exchange.getIn().getHeader(DdbConstants.ITEMS, List.class).get(0);
assertEquals(new AttributeValue("attrValue"), items.get("attrName"));
}