// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/Consumer.java
// public interface Consumer {
// 	public void start();
// 	public void stop();
// 	public boolean isRunning();
// 	
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/Message.java
// public interface Message {
// 	public Map<String, String> getHeaders();
// 	public String getId();
// 	public String getQueue();
// 	public String getBody();
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/MessageHandler.java
// public interface MessageHandler {
// 	public void handle(Message message);
// 	public void handleBatch(List<Message> messages);
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/Producer.java
// public interface Producer {
// 	public void submit(Message message);
// 	public void submitBatch(List<Message> message);
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/QueueFactory.java
// public abstract class QueueFactory implements Closeable {
// 
// 	/***
// 	 * Creates the default ThreadGroupFactory
// 	 */
// 	public QueueFactory(){}
// 	
// 	
// 	public abstract Producer getProducer();
// 	public abstract Consumer getConsumer(final String queue);
// 	
// 	public abstract void produce(final Message message);
// 	public abstract void produceBatch(final List<Message> messages);
// 	
// 	public abstract void consume(String queue, int threadCount, MessageHandler handler);
// 
// }


import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import io.microgenie.application.queue.Consumer;
import io.microgenie.application.queue.Message;
import io.microgenie.application.queue.MessageHandler;
import io.microgenie.application.queue.Producer;
import io.microgenie.application.queue.QueueFactory;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
import com.google.common.collect.Maps;
package io.microgenie.application;







@RunWith(MockitoJUnitRunner.class)
public class QueueFactoryTest {
	
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/Consumer.java
// public interface Consumer {
// 	public void start();
// 	public void stop();
// 	public boolean isRunning();
// 	
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/Message.java
// public interface Message {
// 	public Map<String, String> getHeaders();
// 	public String getId();
// 	public String getQueue();
// 	public String getBody();
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/MessageHandler.java
// public interface MessageHandler {
// 	public void handle(Message message);
// 	public void handleBatch(List<Message> messages);
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/Producer.java
// public interface Producer {
// 	public void submit(Message message);
// 	public void submitBatch(List<Message> message);
// }
// 
// Path: micro-genie-application/src/main/java/io/microgenie/application/queue/QueueFactory.java
// public abstract class QueueFactory implements Closeable {
// 
// 	/***
// 	 * Creates the default ThreadGroupFactory
// 	 */
// 	public QueueFactory(){}
// 	
// 	
// 	public abstract Producer getProducer();
// 	public abstract Consumer getConsumer(final String queue);
// 	
// 	public abstract void produce(final Message message);
// 	public abstract void produceBatch(final List<Message> messages);
// 	
// 	public abstract void consume(String queue, int threadCount, MessageHandler handler);
// 
// }


// Path: micro-genie-application/src/test/java/io/microgenie/application/QueueFactoryTest.java
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import io.microgenie.application.queue.Consumer;
import io.microgenie.application.queue.Message;
import io.microgenie.application.queue.MessageHandler;
import io.microgenie.application.queue.Producer;
import io.microgenie.application.queue.QueueFactory;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
import com.google.common.collect.Maps;

package io.microgenie.application;







@RunWith(MockitoJUnitRunner.class)
public class QueueFactoryTest {
	
	private final Producer producer = mock(Producer.class);