// Path: moshas/src/main/java/net/unit8/moshas/context/Context.java
// public class Context extends AbstractContext {
// 
//     public Context() {
//         super();
//     }
// 
//     public Context(Map<String, Object> variables) {
//         super();
//         for (Map.Entry<String, Object> entry : variables.entrySet()) {
//             setVariable(entry.getKey(), entry.getValue());
//         }
//     }
// }
// 
// Path: moshas/src/main/java/net/unit8/moshas/loader/ResourceTemplateLoader.java
// public class ResourceTemplateLoader extends TemplateLoader {
//     private String prefix;
//     private String suffix;
// 
//     @Override
//     public InputStream getTemplateStream(String templateSource) throws TemplateNotFoundException {
//         ClassLoader cl = Thread.currentThread().getContextClassLoader();
//         if (cl == null) {
//             cl = getClass().getClassLoader();
//         }
// 
//         if (prefix != null) {
//             templateSource = prefix + templateSource;
//         }
//         if (suffix != null) {
//             templateSource = templateSource + suffix;
//         }
// 
//         if (templateSource.startsWith("/")) {
//             templateSource = templateSource.replaceAll("^/(.*)", "$1");
//         }
//         InputStream is = cl.getResourceAsStream(templateSource);
//         if (is == null) {
//             throw new TemplateNotFoundException("Can't find template " + templateSource);
//         }
// 
//         return is;
//     }
// 
//     public void setPrefix(String prefix) {
//         this.prefix = prefix;
//     }
// 
//     public void setSuffix(String suffix) {
//         this.suffix = suffix;
//     }
// }


import net.unit8.moshas.context.Context;
import net.unit8.moshas.loader.ResourceTemplateLoader;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
package net.unit8.moshas;



/**
 *
 * @author kawasima
 */
public class LoopTemplateTest {
    private Template template;

    @Before
    public void setup() throws IOException {
        MoshasEngine engine = new MoshasEngine();
// Path: moshas/src/main/java/net/unit8/moshas/context/Context.java
// public class Context extends AbstractContext {
// 
//     public Context() {
//         super();
//     }
// 
//     public Context(Map<String, Object> variables) {
//         super();
//         for (Map.Entry<String, Object> entry : variables.entrySet()) {
//             setVariable(entry.getKey(), entry.getValue());
//         }
//     }
// }
// 
// Path: moshas/src/main/java/net/unit8/moshas/loader/ResourceTemplateLoader.java
// public class ResourceTemplateLoader extends TemplateLoader {
//     private String prefix;
//     private String suffix;
// 
//     @Override
//     public InputStream getTemplateStream(String templateSource) throws TemplateNotFoundException {
//         ClassLoader cl = Thread.currentThread().getContextClassLoader();
//         if (cl == null) {
//             cl = getClass().getClassLoader();
//         }
// 
//         if (prefix != null) {
//             templateSource = prefix + templateSource;
//         }
//         if (suffix != null) {
//             templateSource = templateSource + suffix;
//         }
// 
//         if (templateSource.startsWith("/")) {
//             templateSource = templateSource.replaceAll("^/(.*)", "$1");
//         }
//         InputStream is = cl.getResourceAsStream(templateSource);
//         if (is == null) {
//             throw new TemplateNotFoundException("Can't find template " + templateSource);
//         }
// 
//         return is;
//     }
// 
//     public void setPrefix(String prefix) {
//         this.prefix = prefix;
//     }
// 
//     public void setSuffix(String suffix) {
//         this.suffix = suffix;
//     }
// }


// Path: moshas/src/test/java/net/unit8/moshas/LoopTemplateTest.java
import net.unit8.moshas.context.Context;
import net.unit8.moshas.loader.ResourceTemplateLoader;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;

package net.unit8.moshas;



/**
 *
 * @author kawasima
 */
public class LoopTemplateTest {
    private Template template;

    @Before
    public void setup() throws IOException {
        MoshasEngine engine = new MoshasEngine();
        ResourceTemplateLoader resourceTemplateLoader = new ResourceTemplateLoader();