// 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/BeanWithPlaceholder.java
// public abstract class BeanWithPlaceholder {
// 
//     
//     protected String attrOne;
//     
//     protected String attrTwo;
//     
//     protected String attrThree;
// 
//     public String getAttrOne() {
//         return attrOne;
//     }
// 
//     public String getAttrTwo() {
//         return attrTwo;
//     }
// 
//     public String getAttrThree() {
//         return attrThree;
//     }
//     
//     public static class Immutable extends BeanWithPlaceholder {
//         
//         public Immutable(String attrOne, String attrTwo, String attrThree) {
//             this.attrOne = attrOne;
//             this.attrTwo = attrTwo;
//             this.attrThree = attrThree;
//         }
//     }
//     
//     public static class Mutable extends BeanWithPlaceholder {
//         
//          public void setAttrOne(String attrOne) {
//              this.attrOne = attrOne;
//          }
//          
//          public void setAttrTwo(String attrTwo) {
//              this.attrTwo = attrTwo;
//          }
//          
//          public void setAttrThree(String attrThree) {
//              this.attrThree = attrThree;
//          }
//     }
// }


import static java.lang.String.format;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.junit.BeforeClass;
import org.junit.Test;
import br.com.six2six.fixturefactory.loader.FixtureFactoryLoader;
import br.com.six2six.fixturefactory.model.BeanWithPlaceholder;
package br.com.six2six.fixturefactory;




public class BeanWithPlaceholderTest {

    @BeforeClass
    public static void setUp() {
        FixtureFactoryLoader.loadTemplates("br.com.six2six.template");
    }
    
    @Test
    public void shouldSubstituteOnePlaceholderViaConstructor() {
// 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/BeanWithPlaceholder.java
// public abstract class BeanWithPlaceholder {
// 
//     
//     protected String attrOne;
//     
//     protected String attrTwo;
//     
//     protected String attrThree;
// 
//     public String getAttrOne() {
//         return attrOne;
//     }
// 
//     public String getAttrTwo() {
//         return attrTwo;
//     }
// 
//     public String getAttrThree() {
//         return attrThree;
//     }
//     
//     public static class Immutable extends BeanWithPlaceholder {
//         
//         public Immutable(String attrOne, String attrTwo, String attrThree) {
//             this.attrOne = attrOne;
//             this.attrTwo = attrTwo;
//             this.attrThree = attrThree;
//         }
//     }
//     
//     public static class Mutable extends BeanWithPlaceholder {
//         
//          public void setAttrOne(String attrOne) {
//              this.attrOne = attrOne;
//          }
//          
//          public void setAttrTwo(String attrTwo) {
//              this.attrTwo = attrTwo;
//          }
//          
//          public void setAttrThree(String attrThree) {
//              this.attrThree = attrThree;
//          }
//     }
// }


// Path: src/test/java/br/com/six2six/fixturefactory/BeanWithPlaceholderTest.java
import static java.lang.String.format;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.junit.BeforeClass;
import org.junit.Test;
import br.com.six2six.fixturefactory.loader.FixtureFactoryLoader;
import br.com.six2six.fixturefactory.model.BeanWithPlaceholder;

package br.com.six2six.fixturefactory;




public class BeanWithPlaceholderTest {

    @BeforeClass
    public static void setUp() {
        FixtureFactoryLoader.loadTemplates("br.com.six2six.template");
    }
    
    @Test
    public void shouldSubstituteOnePlaceholderViaConstructor() {
        BeanWithPlaceholder result = Fixture.from(BeanWithPlaceholder.Immutable.class).gimme("one-placeholder");