### Question:
KinesisRecorderConfig { public ClientConfiguration getClientConfiguration() { return clientConfiguration; } KinesisRecorderConfig();  KinesisRecorderConfig(ClientConfiguration clientConfiguration);  KinesisRecorderConfig(KinesisRecorderConfig other); KinesisRecorderConfig withPartitionKey(String partKey); KinesisRecorderConfig withMaxStorageSize(long maxStorage); long getMaxStorageSize(); DeadLetterListener getDeadLetterListener(); KinesisRecorderConfig withDeadLetterListener(DeadLetterListener deadLetterListener); ClientConfiguration getClientConfiguration(); String getPartitionKey();  }### Answer:
@Test public void ClientConfigConstructor() { ClientConfiguration cConfig = new ClientConfiguration(); cConfig.withConnectionTimeout(0); cConfig.withMaxConnections(5000); KinesisRecorderConfig kConfig = new KinesisRecorderConfig(cConfig); assertEquals(kConfig.getClientConfiguration().getConnectionTimeout(), 0); assertEquals(kConfig.getClientConfiguration().getMaxConnections(), 5000); }
@Test public void defaultConstructorUsesDefaultClientConfiguration() { KinesisRecorderConfig kConfig = new KinesisRecorderConfig(); ClientConfiguration cConfig = new ClientConfiguration(); assertEquals(kConfig.getClientConfiguration().getConnectionTimeout(), cConfig.getConnectionTimeout()); assertEquals(kConfig.getClientConfiguration().getMaxConnections(), cConfig.getMaxConnections()); assertEquals(kConfig.getClientConfiguration().getMaxErrorRetry(), cConfig.getMaxErrorRetry()); assertEquals(kConfig.getClientConfiguration().getSocketTimeout(), cConfig.getSocketTimeout()); }