You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/06/28 17:21:54 UTC
[groovy] 07/08: Add testcase for Delegate
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 25fb07b5a8c8042f938160a12d6e12bb76d069b4
Author: aalmiray <aa...@gmail.com>
AuthorDate: Tue Jun 11 19:35:02 2019 +0200
Add testcase for Delegate
---
.../groovy/generated/DelegateGeneratedTest.groovy | 52 ++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/src/test/groovy/generated/DelegateGeneratedTest.groovy b/src/test/groovy/generated/DelegateGeneratedTest.groovy
new file mode 100644
index 0000000..eae0d0b
--- /dev/null
+++ b/src/test/groovy/generated/DelegateGeneratedTest.groovy
@@ -0,0 +1,52 @@
+package groovy.generated
+
+import groovy.transform.CompileStatic
+import org.junit.Test
+
+@CompileStatic
+class DelegateGeneratedTest extends AbstractGeneratedAstTestCase {
+ final Class<?> implicitDelegate = parseClass('''
+ class ClassUnderTest {
+ static class D {
+ void m1() { }
+ void m2() { }
+ }
+
+ @Delegate
+ D delegate = new D()
+ }''')
+
+ final Class<?> explicitDelegate = parseClass('''
+ class ClassUnderTest {
+ static class D {
+ void m1() { }
+ void m2() { }
+ }
+
+ @Delegate
+ D delegate = new D()
+
+ void m1() { }
+ // void m2() { }
+ }''')
+
+ @Test
+ void test_m1_is_annotated() {
+ assertMethodIsAnnotated(implicitDelegate, 'm1')
+ }
+
+ @Test
+ void test_m2_is_annotated() {
+ assertMethodIsAnnotated(implicitDelegate, 'm2')
+ }
+
+ @Test
+ void test_explicit_m1_is_not_annotated() {
+ assertMethodIsNotAnnotated(explicitDelegate, 'm1')
+ }
+
+ @Test
+ void test_explicit_m2_is_annotated() {
+ assertMethodIsAnnotated(explicitDelegate, 'm2')
+ }
+}
\ No newline at end of file