From 332337512591ed679d7a96f4819732bc3dfe5651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Mon, 2 Aug 2010 20:43:41 +0000 Subject: [PATCH] added tests --- .../java/com/mysema/codegen/JavaWriter.java | 4 ++-- .../com/mysema/codegen/AnnotationTest.java | 13 +++++++++++-- .../com/mysema/codegen/TestAnnotation.java | 3 ++- .../com/mysema/codegen/TestAnnotation2.java | 18 ++++++++++++++++++ 4 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 src/test/java/com/mysema/codegen/TestAnnotation2.java diff --git a/src/main/java/com/mysema/codegen/JavaWriter.java b/src/main/java/com/mysema/codegen/JavaWriter.java index 5f833af0d..8fa048d54 100644 --- a/src/main/java/com/mysema/codegen/JavaWriter.java +++ b/src/main/java/com/mysema/codegen/JavaWriter.java @@ -33,6 +33,8 @@ import org.apache.commons.lang.StringUtils; */ public final class JavaWriter implements Appendable, CodeWriter{ + private static final int INDENT_SPACES = 4; + private static final String EXTENDS = " extends "; private static final String IMPLEMENTS = " implements "; @@ -41,8 +43,6 @@ public final class JavaWriter implements Appendable, CodeWriter{ private static final String IMPORT_STATIC = "import static "; - private static final int INDENT_SPACES = 4; - private static final String PACKAGE = "package "; private static final String PRIVATE = "private "; diff --git a/src/test/java/com/mysema/codegen/AnnotationTest.java b/src/test/java/com/mysema/codegen/AnnotationTest.java index 75570e9cc..e49d53d9f 100644 --- a/src/test/java/com/mysema/codegen/AnnotationTest.java +++ b/src/test/java/com/mysema/codegen/AnnotationTest.java @@ -7,18 +7,27 @@ import java.io.StringWriter; import org.junit.Test; -@TestAnnotation(prop2 = false) +@TestAnnotation(prop2 = false, clazz = AnnotationTest.class) +@TestAnnotation2("Hello") public class AnnotationTest { + private StringWriter w = new StringWriter(); private CodeWriter writer = new JavaWriter(w); @Test public void testClassAnnotation() throws IOException{ writer.annotation(getClass().getAnnotation(TestAnnotation.class)); - assertEquals("@com.mysema.codegen.TestAnnotation(prop2=false)", w.toString().trim()); + assertEquals("@com.mysema.codegen.TestAnnotation(clazz=com.mysema.codegen.AnnotationTest.class, prop2=false)", w.toString().trim()); } + @Test + public void testClassAnnotation2() throws IOException{ + writer.annotation(getClass().getAnnotation(TestAnnotation2.class)); + assertEquals("@com.mysema.codegen.TestAnnotation2(\"Hello\")", w.toString().trim()); + } + + @Test public void testMethodAnnotation() throws IOException, SecurityException, NoSuchMethodException { writer.annotation(getClass().getMethod("testMethodAnnotation").getAnnotation(Test.class)); diff --git a/src/test/java/com/mysema/codegen/TestAnnotation.java b/src/test/java/com/mysema/codegen/TestAnnotation.java index 5641a62b6..c47ce5e57 100644 --- a/src/test/java/com/mysema/codegen/TestAnnotation.java +++ b/src/test/java/com/mysema/codegen/TestAnnotation.java @@ -7,7 +7,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -@Documented @Target( { TYPE }) @Retention(RetentionPolicy.RUNTIME) public @interface TestAnnotation { @@ -15,5 +14,7 @@ public @interface TestAnnotation { boolean prop1() default false; boolean prop2(); + + Class clazz(); } diff --git a/src/test/java/com/mysema/codegen/TestAnnotation2.java b/src/test/java/com/mysema/codegen/TestAnnotation2.java new file mode 100644 index 000000000..7420888f3 --- /dev/null +++ b/src/test/java/com/mysema/codegen/TestAnnotation2.java @@ -0,0 +1,18 @@ +/** + * + */ +package com.mysema.codegen; + +import static java.lang.annotation.ElementType.TYPE; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target( { TYPE }) +@Retention(RetentionPolicy.RUNTIME) +public @interface TestAnnotation2 { + + String value(); + +} \ No newline at end of file