package com.googlecode.gwt.test.utils; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class GwtReflectionUtilsTest { @Test public void callPrivateMethod() { // Given TestBean testBean = new TestBean(); // When GwtReflectionUtils.callPrivateMethod(testBean, "setString", "my string"); // Then assertThat(testBean.string).isEqualTo("my string"); } @Test public void callPrivateMethod_Primitive() { // Given TestBean testBean = new TestBean(); // When GwtReflectionUtils.callPrivateMethod(testBean, "setBool", true); // Then assertThat(testBean.bool).isTrue(); } @Test public void callPrivateMethod_PrimitiveToWrapperType() { // Given TestBean testBean = new TestBean(); // When GwtReflectionUtils.callPrivateMethod(testBean, "setBoolObject", true); // Then assertThat(testBean.bool).isTrue(); } @Test public void getPrivateFieldValue() { // Given TestBean testBean = new TestBean(); testBean.setString("my string"); // When String s = GwtReflectionUtils.getPrivateFieldValue(testBean, "string"); // Then assertThat(s).isEqualTo("my string"); } @Test public void getPrivateFieldValue_Primitive() { // Given TestBean testBean = new TestBean(); testBean.setBool(true); // When boolean b = (Boolean) GwtReflectionUtils.getPrivateFieldValue(testBean, "bool"); // Then assertThat(b).isTrue(); } @Test public void ok() { // When String c = GwtReflectionUtils.getStaticFieldValue(TestBean.class, "CONST"); // Then assertThat(c).isEqualTo(TestBean.CONST); } private static class TestBean { private static final String CONST = "TEST BEAN CONST"; private boolean bool; private String string; private void setBool(boolean bool) { this.bool = bool; } @SuppressWarnings("unused") private void setBoolObject(Boolean bool) { this.bool = bool; } private void setString(String string) { this.string = string; } } }