]> source.dussan.org Git - dcevm.git/commitdiff
Adding failing test case (#94)
authorIvan Dubrov <idubrov@guidewire.com>
Wed, 2 Mar 2016 21:26:05 +0000 (13:26 -0800)
committerIvan Dubrov <idubrov@guidewire.com>
Wed, 2 Mar 2016 21:26:07 +0000 (13:26 -0800)
dcevm/src/test/java7/com/github/dcevm/test/methods/MethodReflectionTest.java

index a5304734976d2ee8a7c48dd46cdb85148798281c..6b04e7028645e882e907bfe9d58eda6d08b0addc 100644 (file)
@@ -149,4 +149,47 @@ public class MethodReflectionTest {
 
     Assert.assertFalse(found);
   }
+
+  // Version 0
+  public static class TestArgumentRedefined {
+    public static String hello(TestArgumentRedefined arg) {
+      return arg.doHello();
+    }
+
+    public String doHello() {
+      return "hello0";
+    }
+  }
+
+  public static class TestArgumentRedefined___1 {
+    public static String hello(TestArgumentRedefined arg) {
+      return arg.doHello();
+    }
+
+    public String doHello() {
+      return "hello1";
+    }
+  }
+
+  @Test
+  public void testReflectionArgumentRedefined() throws Exception {
+
+    assert __version__() == 0;
+
+    TestArgumentRedefined t = new TestArgumentRedefined();
+    Method declaredMethod = TestArgumentRedefined.class.getDeclaredMethod("hello",
+            TestArgumentRedefined.class);
+
+
+    for (int i = 0; i < 10; i++) {
+      assertEquals("hello0", declaredMethod.invoke(null, t));
+
+      __toVersion__(1);
+
+      assertEquals("hello1", declaredMethod.invoke(null, t));
+
+      __toVersion__(0);
+    }
+  }
+
 }