// Path: src/main/java/redis/clients/collections/QueueStructure.java
// public interface QueueStructure <T> extends Expirable {
// 
// 
// 	Queue<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/LineBank.java
// public class LineBank {
// 
// 	
// 	private Person person;
// 
// 	public Person getPerson() {
// 		return person;
// 	}
// 
// 	public void setPerson(Person person) {
// 		this.person = person;
// 	}
// 	
// 	public LineBank(String name, Integer age) {
// 		this.person = new Person(name, age);
// 	}
// 	
// 	
// }
// 
// 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.util.NoSuchElementException;
import java.util.Queue;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.collections.QueueStructure;
import redis.clients.collections.builder.RedisStrutureBuilder;
import redis.clients.collections.model.LineBank;
import redis.clients.collections.util.RedisConnection;
package redis.clients.collections;





public class QueueStructureTest {

	private QueueStructure<LineBank> serviceBank;
	
	@Before
	public void init() {
		serviceBank =  RedisStrutureBuilder.ofQueue(RedisConnection.JEDIS, LineBank.class).withNameSpace("serviceBank").build();
	}
	
	@Test
// Path: src/main/java/redis/clients/collections/QueueStructure.java
// public interface QueueStructure <T> extends Expirable {
// 
// 
// 	Queue<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/LineBank.java
// public class LineBank {
// 
// 	
// 	private Person person;
// 
// 	public Person getPerson() {
// 		return person;
// 	}
// 
// 	public void setPerson(Person person) {
// 		this.person = person;
// 	}
// 	
// 	public LineBank(String name, Integer age) {
// 		this.person = new Person(name, age);
// 	}
// 	
// 	
// }
// 
// 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/QueueStructureTest.java
import java.util.NoSuchElementException;
import java.util.Queue;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.collections.QueueStructure;
import redis.clients.collections.builder.RedisStrutureBuilder;
import redis.clients.collections.model.LineBank;
import redis.clients.collections.util.RedisConnection;

package redis.clients.collections;





public class QueueStructureTest {

	private QueueStructure<LineBank> serviceBank;
	
	@Before
	public void init() {
		serviceBank =  RedisStrutureBuilder.ofQueue(RedisConnection.JEDIS, LineBank.class).withNameSpace("serviceBank").build();
	}
	
	@Test
	public void shouldPushInTheLine() {