1 package org.codehaus.modello.plugin.java;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import java.io.File;
26 import java.util.Properties;
27
28 import org.codehaus.modello.AbstractModelloJavaGeneratorTest;
29 import org.codehaus.modello.core.ModelloCore;
30 import org.codehaus.modello.model.Model;
31 import org.codehaus.plexus.util.FileUtils;
32
33 public class BuilderJavaGeneratorTest extends AbstractModelloJavaGeneratorTest {
34 public BuilderJavaGeneratorTest() {
35 super("builder");
36 }
37
38
39
40
41
42 public void testJavaGeneratorWithBuilder() throws Exception {
43 ModelloCore modello = (ModelloCore) lookup(ModelloCore.ROLE);
44
45 Model model = modello.loadModel(getXmlResourceReader("/models/builder.mdo"));
46
47 Properties parameters = getModelloParameters("1.0.0");
48
49 modello.generate(model, "java", parameters);
50
51 compileGeneratedSources();
52
53 verifyClass("Bundles");
54 verifyClass("StartLevel");
55 verifyClass("Bundle");
56 }
57
58 private void verifyClass(String className) throws Exception {
59 File source = new File(getOutputDirectory(), "org/codehaus/modello/builder/" + className + ".java");
60
61 String sourceGenerated = FileUtils.fileRead(source);
62
63 assertTrue(sourceGenerated.contains("public static final class Builder"));
64 assertTrue(sourceGenerated.contains("public " + className + " build()"));
65 }
66 }