# Whitebox.getInternalState()

Similar to `setInternalState()` you can get value of any global field at my time with `getInternalState()` method.

This method is really useful to test any void methods, we can get any state change caused by that void method and write our assertion on that.

for example:

```java
// Example Source Class
public class ExampleClass {

    private int mHeight = 0;

    public void clear() {
        // this is a void method that updated height and does not return anything.
        mHeight = 0;
    }
}
```

With method's like `clear()` that return void but change state of class, we can get value of `mHeight` and check if it was unset or not.

Here is how we would achieve that:

```java
@RunWith(PowerMockRunner.class)
@PrepareForTest({
    ExampleClass.class
})
public class ExampleClassTest {

    private ExampleClass classUnderTest;

    @Before
    public void setUp() throws Exception {
        // Create constructor of ExampleClass
        classUnderTest = new ExampleClass();
    }

    @Test
    public void getHeight_shoudReturnHeightOfView() throws NoSuchMethodException {
        // Given

        // When
        classUnderTest.clear()

        // Then
        final int mHeight = Whitebox.getInternalState(classUnderTest, "mHeight");;
        Assert.assertEquals(0, mHeight);
    }
}
```
