// Path: src/test/java/com/github/mlk/junit/rules/helpers/dynamodb/DynamoExample.java
// public class DynamoExample {
//   private final AmazonDynamoDB client;
// 
//   private final AttributeDefinition sequenceNumber = new AttributeDefinition("sequence_number", ScalarAttributeType.N);
//   private final AttributeDefinition valueAttribute = new AttributeDefinition("value", ScalarAttributeType.S);
// 
//   public DynamoExample(AmazonDynamoDB client) {
//     this.client = client;
//   }
// 
//   public void createTable() {
//     List<KeySchemaElement> keySchema = new ArrayList<>();
// 
//     keySchema.add(
//         new KeySchemaElement()
//             .withAttributeName(sequenceNumber.getAttributeName())
//             .withKeyType(KeyType.HASH)
//     );
// 
//     ProvisionedThroughput provisionedThroughput = new ProvisionedThroughput();
//     provisionedThroughput.setReadCapacityUnits(10L);
//     provisionedThroughput.setWriteCapacityUnits(10L);
// 
//     CreateTableRequest request = new CreateTableRequest()
//         .withTableName("example_table")
//         .withKeySchema(keySchema)
//         .withAttributeDefinitions(singleton(sequenceNumber))
//         .withProvisionedThroughput(provisionedThroughput);
// 
//     client.createTable(request);
//   }
// 
//   public void setValue(long key, String value) {
//     Map<String, AttributeValue> firstId = new HashMap<>();
//     firstId.put(sequenceNumber.getAttributeName(), new AttributeValue().withN(Long.toString(key)));
//     firstId.put(valueAttribute.getAttributeName(), new AttributeValue().withS(value));
// 
// 
//     client.putItem(new PutItemRequest()
//         .withTableName("example_table")
//         .withItem(firstId));
//   }
// 
//   public String getValue(long key) {
//     Map<String, AttributeValue> result = client.getItem(new GetItemRequest()
//         .withTableName("example_table")
//         .withKey(Collections.singletonMap(sequenceNumber.getAttributeName(), new AttributeValue().withN(Long.toString(key))))).getItem();
// 
//     return result.get(valueAttribute.getAttributeName()).getS();
//   }
// }


import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.github.mlk.junit.rules.helpers.dynamodb.DynamoExample;
import java.util.UUID;
import org.junit.Rule;
import org.junit.Test;
package com.github.mlk.junit.rules;



public class HttpDynamoDbRuleTest {
  @Rule
  public HttpDynamoDbRule subject = new HttpDynamoDbRule();

  @Test
  public void getterSetterTest() {
    String randomValue = UUID.randomUUID().toString();

// Path: src/test/java/com/github/mlk/junit/rules/helpers/dynamodb/DynamoExample.java
// public class DynamoExample {
//   private final AmazonDynamoDB client;
// 
//   private final AttributeDefinition sequenceNumber = new AttributeDefinition("sequence_number", ScalarAttributeType.N);
//   private final AttributeDefinition valueAttribute = new AttributeDefinition("value", ScalarAttributeType.S);
// 
//   public DynamoExample(AmazonDynamoDB client) {
//     this.client = client;
//   }
// 
//   public void createTable() {
//     List<KeySchemaElement> keySchema = new ArrayList<>();
// 
//     keySchema.add(
//         new KeySchemaElement()
//             .withAttributeName(sequenceNumber.getAttributeName())
//             .withKeyType(KeyType.HASH)
//     );
// 
//     ProvisionedThroughput provisionedThroughput = new ProvisionedThroughput();
//     provisionedThroughput.setReadCapacityUnits(10L);
//     provisionedThroughput.setWriteCapacityUnits(10L);
// 
//     CreateTableRequest request = new CreateTableRequest()
//         .withTableName("example_table")
//         .withKeySchema(keySchema)
//         .withAttributeDefinitions(singleton(sequenceNumber))
//         .withProvisionedThroughput(provisionedThroughput);
// 
//     client.createTable(request);
//   }
// 
//   public void setValue(long key, String value) {
//     Map<String, AttributeValue> firstId = new HashMap<>();
//     firstId.put(sequenceNumber.getAttributeName(), new AttributeValue().withN(Long.toString(key)));
//     firstId.put(valueAttribute.getAttributeName(), new AttributeValue().withS(value));
// 
// 
//     client.putItem(new PutItemRequest()
//         .withTableName("example_table")
//         .withItem(firstId));
//   }
// 
//   public String getValue(long key) {
//     Map<String, AttributeValue> result = client.getItem(new GetItemRequest()
//         .withTableName("example_table")
//         .withKey(Collections.singletonMap(sequenceNumber.getAttributeName(), new AttributeValue().withN(Long.toString(key))))).getItem();
// 
//     return result.get(valueAttribute.getAttributeName()).getS();
//   }
// }


// Path: src/test/java/com/github/mlk/junit/rules/HttpDynamoDbRuleTest.java
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.github.mlk.junit.rules.helpers.dynamodb.DynamoExample;
import java.util.UUID;
import org.junit.Rule;
import org.junit.Test;

package com.github.mlk.junit.rules;



public class HttpDynamoDbRuleTest {
  @Rule
  public HttpDynamoDbRule subject = new HttpDynamoDbRule();

  @Test
  public void getterSetterTest() {
    String randomValue = UUID.randomUUID().toString();

    DynamoExample exampleClient = new DynamoExample(AmazonDynamoDBClientBuilder