// Path: src/main/java/redis/clients/collections/ListStructure.java
// public interface ListStructure <T> extends Expirable {
// 
// 	List<T> get(String key);
// 	
// 	void delete(String key);
// }
// 
// Path: src/main/java/redis/clients/collections/builder/RedisStrutureBuilder.java
// public class RedisStrutureBuilder {
// 
// 	public static <T> KeyValueBuilder<T> ofKeyValue(Jedis jedis,Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the RedisStruturebuilder");
// 		return new KeyValueBuilder<>(jedis, clazz);
// 	}
// 
// 	public static CountStructureBuilder ofCount(Jedis jedis) {
// 		Objects.requireNonNull(jedis);
// 		return new CountStructureBuilder(jedis);
// 	}
// 
// 	public static <T> ListStructureBuilder<T> ofList(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the ListStruturebuilder");
// 		return new ListStructureBuilder<>(jedis, clazz);
// 	}
// 
// 	public static <T> SetStructureBuilder<T> ofSet(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the SetStruturebuilder");
// 		return new SetStructureBuilder<>(jedis, clazz);
// 	}
// 	
// 	public static <T> MapStructureBuilder<T> ofMap(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the MapStruturebuilder");
// 		return new MapStructureBuilder<>(jedis, clazz);
// 		
// 	}
// 
// 	public static <T> QueueStructureBuilder<T> ofQueue(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz);
// 		return new QueueStructureBuilder<>(jedis, clazz);
// 	}
// 
// 	public static RankingStructureBuilder ofRanking(Jedis jedis) {
// 		Objects.requireNonNull(jedis);
// 		return new RankingStructureBuilder(jedis);
// 	}
// 
// }
// 
// Path: src/test/java/redis/clients/collections/model/ProductCart.java
// public class ProductCart implements Serializable {
// 
// 	private static final long serialVersionUID = 4087960613230439836L;
// 
// 	private String name;
// 	
// 	private BigDecimal price;
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public BigDecimal getPrice() {
// 		return price;
// 	}
// 
// 	public void setPrice(BigDecimal price) {
// 		this.price = price;
// 	}
// 
// 	public ProductCart(String name, BigDecimal price) {
// 		this.name = name;
// 		this.price = price;
// 	}
// 	
// 	public ProductCart() {}
// 	
// }
// 
// Path: src/test/java/redis/clients/collections/util/RedisConnection.java
// public class RedisConnection {
// 
// 	public static final Jedis JEDIS;
// 	
// 	static{
// 	 JEDIS = new Jedis("localhost");
// 	}
// }


import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.collections.ListStructure;
import redis.clients.collections.builder.RedisStrutureBuilder;
import redis.clients.collections.model.ProductCart;
import redis.clients.collections.util.RedisConnection;
package redis.clients.collections;





public class ListStructureTest {

	private static final String FRUITS = "fruits";
	private ProductCart banana = new ProductCart("banana", BigDecimal.ONE);
	private ProductCart orange = new ProductCart("orange", BigDecimal.ONE);
	private ProductCart waterMelon = new ProductCart("waterMelon", BigDecimal.TEN);
	private ProductCart melon = new ProductCart("melon", BigDecimal.ONE);
	
	private ListStructure<ProductCart> shippingCart;
	
	
	@Before
	public void init() {
		shippingCart = RedisStrutureBuilder.ofList(RedisConnection.JEDIS, ProductCart.class).withNameSpace("list_producs").build();
	}
	
	@Test
	public void shouldReturnsList() {
		List<ProductCart> frutisCarts =  shippingCart.get(FRUITS);
		Assert.assertNotNull(frutisCarts);
	}
	
// Path: src/main/java/redis/clients/collections/ListStructure.java
// public interface ListStructure <T> extends Expirable {
// 
// 	List<T> get(String key);
// 	
// 	void delete(String key);
// }
// 
// Path: src/main/java/redis/clients/collections/builder/RedisStrutureBuilder.java
// public class RedisStrutureBuilder {
// 
// 	public static <T> KeyValueBuilder<T> ofKeyValue(Jedis jedis,Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the RedisStruturebuilder");
// 		return new KeyValueBuilder<>(jedis, clazz);
// 	}
// 
// 	public static CountStructureBuilder ofCount(Jedis jedis) {
// 		Objects.requireNonNull(jedis);
// 		return new CountStructureBuilder(jedis);
// 	}
// 
// 	public static <T> ListStructureBuilder<T> ofList(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the ListStruturebuilder");
// 		return new ListStructureBuilder<>(jedis, clazz);
// 	}
// 
// 	public static <T> SetStructureBuilder<T> ofSet(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the SetStruturebuilder");
// 		return new SetStructureBuilder<>(jedis, clazz);
// 	}
// 	
// 	public static <T> MapStructureBuilder<T> ofMap(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz, "The class must be specificed to do the MapStruturebuilder");
// 		return new MapStructureBuilder<>(jedis, clazz);
// 		
// 	}
// 
// 	public static <T> QueueStructureBuilder<T> ofQueue(Jedis jedis, Class<T> clazz) {
// 		Objects.requireNonNull(jedis);
// 		Objects.requireNonNull(clazz);
// 		return new QueueStructureBuilder<>(jedis, clazz);
// 	}
// 
// 	public static RankingStructureBuilder ofRanking(Jedis jedis) {
// 		Objects.requireNonNull(jedis);
// 		return new RankingStructureBuilder(jedis);
// 	}
// 
// }
// 
// Path: src/test/java/redis/clients/collections/model/ProductCart.java
// public class ProductCart implements Serializable {
// 
// 	private static final long serialVersionUID = 4087960613230439836L;
// 
// 	private String name;
// 	
// 	private BigDecimal price;
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public BigDecimal getPrice() {
// 		return price;
// 	}
// 
// 	public void setPrice(BigDecimal price) {
// 		this.price = price;
// 	}
// 
// 	public ProductCart(String name, BigDecimal price) {
// 		this.name = name;
// 		this.price = price;
// 	}
// 	
// 	public ProductCart() {}
// 	
// }
// 
// Path: src/test/java/redis/clients/collections/util/RedisConnection.java
// public class RedisConnection {
// 
// 	public static final Jedis JEDIS;
// 	
// 	static{
// 	 JEDIS = new Jedis("localhost");
// 	}
// }


// Path: src/test/java/redis/clients/collections/ListStructureTest.java
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.collections.ListStructure;
import redis.clients.collections.builder.RedisStrutureBuilder;
import redis.clients.collections.model.ProductCart;
import redis.clients.collections.util.RedisConnection;

package redis.clients.collections;





public class ListStructureTest {

	private static final String FRUITS = "fruits";
	private ProductCart banana = new ProductCart("banana", BigDecimal.ONE);
	private ProductCart orange = new ProductCart("orange", BigDecimal.ONE);
	private ProductCart waterMelon = new ProductCart("waterMelon", BigDecimal.TEN);
	private ProductCart melon = new ProductCart("melon", BigDecimal.ONE);
	
	private ListStructure<ProductCart> shippingCart;
	
	
	@Before
	public void init() {
		shippingCart = RedisStrutureBuilder.ofList(RedisConnection.JEDIS, ProductCart.class).withNameSpace("list_producs").build();
	}
	
	@Test
	public void shouldReturnsList() {
		List<ProductCart> frutisCarts =  shippingCart.get(FRUITS);
		Assert.assertNotNull(frutisCarts);
	}
	
	@Test