// Path: src/test/java/br/com/six2six/fixturefactory/model/User.java
// public class User implements Serializable {
// 
// 	private static final long serialVersionUID = 6276678114928905392L;
// 
// 	private String name;
// 	private String login;
// 	private String password;
// 	private Gender gender;
// 	private String email;
// 	private List<UserType> userTypes;
// 	
// 	public String getName() {
// 		return name;
// 	}
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 	public String getLogin() {
// 		return login;
// 	}
// 	public void setLogin(String login) {
// 		this.login = login;
// 	}
// 	public String getPassword() {
// 		return password;
// 	}
// 	public void setPassword(String password) {
// 		this.password = password;
// 	}
// 	public Gender getGender() {
// 		return gender;
// 	}
// 	public void setGender(Gender gender) {
// 		this.gender = gender;
// 	}
// 	public String getEmail() {
// 		return email;
// 	}
// 	public void setEmail(String email) {
// 		this.email = email;
// 	}
// 	public List<UserType> getUserTypes() {
// 		return userTypes;
// 	}
// 	public void setUserTypes(List<UserType> userTypes) {
// 		this.userTypes = userTypes;
// 	}
// 	
// }


import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.Arrays;
import org.junit.Before;
import org.junit.Test;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import br.com.six2six.fixturefactory.model.User;
package br.com.six2six.fixturefactory;





public class ObjectFactoryTest {

	private TemplateHolder templateHolder;
	private ObjectFactory objectFactory;
	
	@Before
	public void setUp() {
		templateHolder = mockTemplateHolder();
		objectFactory = new ObjectFactory(templateHolder);
	}
	
	@Test(expected = IllegalArgumentException.class)
	public void shouldThrowExceptionForGimmeWithQuantityAndWrongNumberOfTemplates() {
		objectFactory.gimme(3, Arrays.asList("template1", "template2"));
	}
	
	//hack to workaround Mockito error when trying to return a Class<?>
	private TemplateHolder mockTemplateHolder() {
		TemplateHolder templateHolder = mock(TemplateHolder.class);
// Path: src/test/java/br/com/six2six/fixturefactory/model/User.java
// public class User implements Serializable {
// 
// 	private static final long serialVersionUID = 6276678114928905392L;
// 
// 	private String name;
// 	private String login;
// 	private String password;
// 	private Gender gender;
// 	private String email;
// 	private List<UserType> userTypes;
// 	
// 	public String getName() {
// 		return name;
// 	}
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 	public String getLogin() {
// 		return login;
// 	}
// 	public void setLogin(String login) {
// 		this.login = login;
// 	}
// 	public String getPassword() {
// 		return password;
// 	}
// 	public void setPassword(String password) {
// 		this.password = password;
// 	}
// 	public Gender getGender() {
// 		return gender;
// 	}
// 	public void setGender(Gender gender) {
// 		this.gender = gender;
// 	}
// 	public String getEmail() {
// 		return email;
// 	}
// 	public void setEmail(String email) {
// 		this.email = email;
// 	}
// 	public List<UserType> getUserTypes() {
// 		return userTypes;
// 	}
// 	public void setUserTypes(List<UserType> userTypes) {
// 		this.userTypes = userTypes;
// 	}
// 	
// }


// Path: src/test/java/br/com/six2six/fixturefactory/ObjectFactoryTest.java
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.Arrays;
import org.junit.Before;
import org.junit.Test;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import br.com.six2six.fixturefactory.model.User;

package br.com.six2six.fixturefactory;





public class ObjectFactoryTest {

	private TemplateHolder templateHolder;
	private ObjectFactory objectFactory;
	
	@Before
	public void setUp() {
		templateHolder = mockTemplateHolder();
		objectFactory = new ObjectFactory(templateHolder);
	}
	
	@Test(expected = IllegalArgumentException.class)
	public void shouldThrowExceptionForGimmeWithQuantityAndWrongNumberOfTemplates() {
		objectFactory.gimme(3, Arrays.asList("template1", "template2"));
	}
	
	//hack to workaround Mockito error when trying to return a Class<?>
	private TemplateHolder mockTemplateHolder() {
		TemplateHolder templateHolder = mock(TemplateHolder.class);
		final Class<?> clazz = User.class;