You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.5 KiB

package lorem.ipsum.javatester;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.List;
import org.chulk.codegen.CodeGenerator;
import org.junit.jupiter.api.Test;
import com.google.common.base.Charsets;
import com.google.common.io.Resources;
import lorem.ipsum.javatester.domain.CodeModel;
import lorem.ipsum.javatester.domain.Person;
public class CodeGenTest {
@Test
public void testCodeGenerator()
throws IOException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
final CodeModel model = new CodeModel();
model.setName("Lorem Ipsum");
final CodeGenerator codeGen = CodeGenerator.create(Charsets.UTF_8);
codeGen.generateCode("lorem.ipsum.javatester.file.Generator",
codeGen.writeGeneratorCode(Resources.getResource("test-template.txt").getPath()), model);
}
@Test
public void testGreetingGenerator()
throws IOException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
Person mary = new Person("Mary", ZoneId.of("America/New_York"));
Person bob = new Person("Bob", ZoneId.of("Pacific/Auckland"));
List<Person> ppl = new ArrayList<>();
ppl.add(mary);
ppl.add(bob);
final CodeGenerator codeGen = CodeGenerator.create(Charsets.UTF_8);
codeGen.generateCode("lorem.ipsum.javatester.test.Generator",
codeGen.writeGeneratorCode(Resources.getResource("greeting-template.txt").getPath()), ppl);
}
}