-package org.simantics.scl.reflection.tests;\r
-\r
-import static junit.framework.Assert.*;\r
-import static org.simantics.scl.compiler.types.Types.parseType;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.junit.Test;\r
-import org.simantics.scl.reflection.MinimalTypeBindingScheme;\r
-import org.simantics.scl.reflection.ReflectionUtils;\r
-import org.simantics.scl.reflection.TypeBindingScheme;\r
-import org.simantics.scl.runtime.function.Function;\r
-\r
-public class TestReflectionUtils {\r
-\r
- @Test\r
- public void testReflectionUtils() throws Exception {\r
- TypeBindingScheme s = MinimalTypeBindingScheme.INSTANCE; \r
- \r
- Class<?> c = getClass();\r
- \r
- assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("Integer"), Integer.class));\r
- assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("Integer"), int.class));\r
- assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("String"), String.class));\r
- assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("[String]"), List.class));\r
- assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("[String]"), ArrayList.class));\r
- assertTrue(ReflectionUtils.isAssignableFrom(s, List.class, parseType("[String]")));\r
- assertFalse(ReflectionUtils.isAssignableFrom(s, ArrayList.class, parseType("[String]")));\r
- assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("String -> String"), \r
- Function.class));\r
- assertTrue(ReflectionUtils.isCompatible(s, parseType("String -> Integer"), \r
- c.getMethod("method1", String.class)));\r
- assertTrue(ReflectionUtils.isCompatible(s, parseType("String -> ()"), \r
- c.getMethod("method2", String.class)));\r
- assertTrue(ReflectionUtils.isCompatible(s, parseType("Integer"), \r
- c.getMethod("method3")));\r
- \r
- assertFalse(ReflectionUtils.isAssignableFrom(s, parseType("String"), Integer.class));\r
- \r
- }\r
- \r
- public static int method1(String a) {\r
- return a.length();\r
- }\r
- \r
- public static void method2(String a) {\r
- System.out.println(a);\r
- }\r
- \r
- public static int method3() {\r
- return 3;\r
- }\r
-}\r
+package org.simantics.scl.reflection.tests;
+
+import static junit.framework.Assert.*;
+import static org.simantics.scl.compiler.types.Types.parseType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+import org.simantics.scl.reflection.MinimalTypeBindingScheme;
+import org.simantics.scl.reflection.ReflectionUtils;
+import org.simantics.scl.reflection.TypeBindingScheme;
+import org.simantics.scl.runtime.function.Function;
+
+public class TestReflectionUtils {
+
+ @Test
+ public void testReflectionUtils() throws Exception {
+ TypeBindingScheme s = MinimalTypeBindingScheme.INSTANCE;
+
+ Class<?> c = getClass();
+
+ assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("Integer"), Integer.class));
+ assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("Integer"), int.class));
+ assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("String"), String.class));
+ assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("[String]"), List.class));
+ assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("[String]"), ArrayList.class));
+ assertTrue(ReflectionUtils.isAssignableFrom(s, List.class, parseType("[String]")));
+ assertFalse(ReflectionUtils.isAssignableFrom(s, ArrayList.class, parseType("[String]")));
+ assertTrue(ReflectionUtils.isAssignableFrom(s, parseType("String -> String"),
+ Function.class));
+ assertTrue(ReflectionUtils.isCompatible(s, parseType("String -> Integer"),
+ c.getMethod("method1", String.class)));
+ assertTrue(ReflectionUtils.isCompatible(s, parseType("String -> ()"),
+ c.getMethod("method2", String.class)));
+ assertTrue(ReflectionUtils.isCompatible(s, parseType("Integer"),
+ c.getMethod("method3")));
+
+ assertFalse(ReflectionUtils.isAssignableFrom(s, parseType("String"), Integer.class));
+
+ }
+
+ public static int method1(String a) {
+ return a.length();
+ }
+
+ public static void method2(String a) {
+ System.out.println(a);
+ }
+
+ public static int method3() {
+ return 3;
+ }
+}