Ver código fonte

android ReflectionUtils tests

Daniel Zlotin 8 anos atrás
pai
commit
eee375351d

+ 0
- 1
android/app/src/main/java/com/reactnativenavigation/utils/ReflectionUtils.java Ver arquivo

5
 import java.lang.reflect.Field;
5
 import java.lang.reflect.Field;
6
 
6
 
7
 public class ReflectionUtils {
7
 public class ReflectionUtils {
8
-
9
 	public static void setField(Object obj, String name, Object value) {
8
 	public static void setField(Object obj, String name, Object value) {
10
 		try {
9
 		try {
11
 			Field field = getField(obj.getClass(), name);
10
 			Field field = getField(obj.getClass(), name);

+ 26
- 0
android/app/src/test/java/com/reactnativenavigation/utils/ReflectionUtilsTest.java Ver arquivo

1
+package com.reactnativenavigation.utils;
2
+
3
+import com.reactnativenavigation.BaseTest;
4
+
5
+import org.junit.Test;
6
+
7
+import static org.assertj.core.api.Java6Assertions.assertThat;
8
+
9
+public class ReflectionUtilsTest extends BaseTest {
10
+
11
+	static class Foo {
12
+		private String bar = "old value";
13
+	}
14
+
15
+	@Test
16
+	public void setField() throws Exception {
17
+		Foo target = new Foo();
18
+		ReflectionUtils.setField(target, "bar", "a new value");
19
+		assertThat(target.bar).isEqualTo("a new value");
20
+	}
21
+
22
+	@Test
23
+	public void getDeclaredField() throws Exception {
24
+		assertThat(ReflectionUtils.getDeclaredField(new Foo(), "bar")).isEqualTo("old value");
25
+	}
26
+}