package org.robolectric.integration_tests.mockito_experimental;
import android.text.Layout;
import android.widget.TextView;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@RunWith(RobolectricTestRunner.class)
public class MockitoMockFinalsTest {
@Rule
public MockitoRule mockitoRule = MockitoJUnit.rule();
@Mock
TextView textView;
@Test
public void testInjection() {
Layout layout = mock(Layout.class);
when(textView.getLayout()).thenReturn(layout);
assertThat(textView.getLayout()).isSameAs(layout);
}
@Test
public void canMockUserId() {
User user = mock(User.class);
when(user.getId()).thenReturn(1);
assertThat(user.getId()).isEqualTo(1);
}
final static class User {
final int getId() {
return -1;
}
}
}