package com.jenjinstudios.client.net; import com.jenjinstudios.core.MessageIO; import com.jenjinstudios.core.io.MessageInputStream; import com.jenjinstudios.core.io.MessageOutputStream; import org.testng.Assert; import org.testng.annotations.Test; import static org.mockito.Mockito.mock; /** * Test the AuthClient class. * * @author Caleb Brinkman */ public class AuthClientTest { /** * Test the isLoggedIn method. */ @Test public void testIsLoggedIn() { MessageInputStream mis = mock(MessageInputStream.class); MessageOutputStream mos = mock(MessageOutputStream.class); MessageIO messageIO = new MessageIO(mis, mos); ClientUser clientUser = mock(ClientUser.class); boolean random = ((Math.random() * 10) % 2) == 0; AuthClient authClient = new AuthClient(messageIO, clientUser); authClient.getLoginTracker().setLoggedIn(random); Assert.assertEquals(authClient.getLoginTracker().isLoggedIn(), random, "Login status was not expected."); } /** * Test the getLoggedInTime method. */ @Test public void testLoggedInTime() { MessageInputStream mis = mock(MessageInputStream.class); MessageOutputStream mos = mock(MessageOutputStream.class); MessageIO messageIO = new MessageIO(mis, mos); ClientUser clientUser = mock(ClientUser.class); long random = (long) (Math.random() * 1000); AuthClient authClient = new AuthClient(messageIO, clientUser); authClient.getLoginTracker().setLoggedInTime(random); Assert.assertEquals(authClient.getLoginTracker().getLoggedInTime(), random, "Login time was incorrect."); } /** * Test the getUser method. */ @Test public void testGetUser() { MessageInputStream mis = mock(MessageInputStream.class); MessageOutputStream mos = mock(MessageOutputStream.class); MessageIO messageIO = new MessageIO(mis, mos); ClientUser clientUser = mock(ClientUser.class); AuthClient authClient = new AuthClient(messageIO, clientUser); Assert.assertEquals(authClient.getUser(), clientUser, "User was incorrect."); } }