// Path: src/main/java/br/com/six2six/fixturefactory/loader/FixtureFactoryLoader.java
// public class FixtureFactoryLoader {
// 
// 	public static void loadTemplates(String basePackage) {
//         for (Class<?> clazz : getClassesForPackage(basePackage)) {
//             if (!clazz.isInterface() && TemplateLoader.class.isAssignableFrom(clazz)) {
//                 try {
//                 	((TemplateLoader) clazz.newInstance()).load();
//                 } catch (Exception e) {
//                     throw new RuntimeException(String.format("template %s not loaded", clazz.getName()), e);
//                 }
//             }
//         } 
// 	}
// }
// 
// Path: src/test/java/br/com/six2six/fixturefactory/model/Owner.java
// public class Owner {
// 
// 	public String id;
// 	
// 	private Inner inner;
// 	
// 	public Inner getInner() {
// 		return inner;
// 	}
// 
// 	public void setInner(Inner inner) {
// 		this.inner = inner;
// 	}
// 
// 	public class Inner {
// 		private String id;
// 
// 		public String getId() {
// 			return id;
// 		}
// 
// 		public void setId(String id) {
// 			this.id = id;
// 		}
// 		
// 		public Owner getOwner() {
// 			return Owner.this;
// 		}
// 	}
// }


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
import org.junit.BeforeClass;
import org.junit.Test;
import br.com.six2six.fixturefactory.loader.FixtureFactoryLoader;
import br.com.six2six.fixturefactory.model.Owner;

package br.com.six2six.fixturefactory;




public class FixtureInnerClassTest {

	@BeforeClass
	public static void setUp() {
		FixtureFactoryLoader.loadTemplates("br.com.six2six.template");
	}
	
	@Test
	public void shouldCreateObjectWithInnerClass() {

// Path: src/main/java/br/com/six2six/fixturefactory/loader/FixtureFactoryLoader.java
// public class FixtureFactoryLoader {
// 
// 	public static void loadTemplates(String basePackage) {
//         for (Class<?> clazz : getClassesForPackage(basePackage)) {
//             if (!clazz.isInterface() && TemplateLoader.class.isAssignableFrom(clazz)) {
//                 try {
//                 	((TemplateLoader) clazz.newInstance()).load();
//                 } catch (Exception e) {
//                     throw new RuntimeException(String.format("template %s not loaded", clazz.getName()), e);
//                 }
//             }
//         } 
// 	}
// }
// 
// Path: src/test/java/br/com/six2six/fixturefactory/model/Owner.java
// public class Owner {
// 
// 	public String id;
// 	
// 	private Inner inner;
// 	
// 	public Inner getInner() {
// 		return inner;
// 	}
// 
// 	public void setInner(Inner inner) {
// 		this.inner = inner;
// 	}
// 
// 	public class Inner {
// 		private String id;
// 
// 		public String getId() {
// 			return id;
// 		}
// 
// 		public void setId(String id) {
// 			this.id = id;
// 		}
// 		
// 		public Owner getOwner() {
// 			return Owner.this;
// 		}
// 	}
// }


// Path: src/test/java/br/com/six2six/fixturefactory/FixtureInnerClassTest.java
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
import org.junit.BeforeClass;
import org.junit.Test;
import br.com.six2six.fixturefactory.loader.FixtureFactoryLoader;
import br.com.six2six.fixturefactory.model.Owner;

package br.com.six2six.fixturefactory;




public class FixtureInnerClassTest {

	@BeforeClass
	public static void setUp() {
		FixtureFactoryLoader.loadTemplates("br.com.six2six.template");
	}
	
	@Test
	public void shouldCreateObjectWithInnerClass() {

		Owner owner = Fixture.from(Owner.class).gimme("valid");
