package com.chriszou.auttutorial.test.mockitoannotations;
import com.chriszou.auttutorial.dagger2.UserManager;
import com.chriszou.auttutorial.mockito.PasswordValidator;
import com.chriszou.auttutorial.mockitoannotations.LoginPresenter;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import static org.mockito.Mockito.verify;
/**
* Created by xiaochuang on 5/15/16.
*/
public class LoginPresenterTest {
@Rule public MockitoRule mockitoRule = MockitoJUnit.rule();
@Mock
UserManager mockUserManager;
@Mock
PasswordValidator mockValidator;
@InjectMocks
LoginPresenter loginPresenter;
// @Sy PasswordValidator spyValidator; //使用@Spy创建Spy对象的例子
@Test
public void testLogin() {
Mockito.when(mockValidator.verifyPassword("xiaochuang is handsome")).thenReturn(true);
loginPresenter.login("xiaochuang", "xiaochuang is handsome");
verify(mockUserManager).performLogin("xiaochuang", "xiaochuang is handsome");
}
}