Package frontend

Source Code of frontend.FrontEndTest

package frontend;

import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
import messageSystem.AddressSystem;
import messageSystem.MsgSystem;

import org.eclipse.jetty.server.Request;
import org.junit.*;

import frontend.FrontEnd.RequestType;

import java.io.IOException;
import java.util.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import resourceSystem.Resource;

public class FrontEndTest {

  private MsgSystem messageSystem;
  private AddressSystem addressSystem;
  private Resource resource;
  private Request baseRequest;
  private HttpServletRequest request;
  private HttpServletResponse response;
 
  @Before
  public void setUp() {
    this.messageSystem = mock(MsgSystem.class);
    this.addressSystem = mock(AddressSystem.class);
    this.resource = mock(Resource.class);
    this.baseRequest = mock (Request.class);
    this.request = mock (HttpServletRequest.class);
    this.response = mock (HttpServletResponse.class);
  }
 
  @Test
  public void TestFrontEnd ()  {
    FrontEnd frontEnd = new FrontEnd(messageSystem, addressSystem, resource);
    assertNotNull(frontEnd);
  }

  @Test
  public void  IsUserWaitTest () {
    String userName = "esha";
    FrontEnd frontEnd = new FrontEnd(messageSystem, addressSystem, resource);
    boolean wait = frontEnd.IsUserWait(userName);
    assertFalse (wait);
   
    UserSession uss = new UserSession (userName, 1);
    frontEnd.userSessionToSession.put(1,uss) ;
    wait = frontEnd.IsUserWait(userName);
    assertTrue (wait);
   
    wait = frontEnd.IsUserWait("esha1");
    assertFalse (wait);
   
    uss.setUserId(1);
    frontEnd.userSessionToSession.put(1,uss) ;
    wait = frontEnd.IsUserWait(userName);
    assertFalse (wait);
  }
 
  @Test
  public void IsUserInMapUserSessionTest () {
    String userName = "esha1";
    FrontEnd frontEnd = new FrontEnd(messageSystem, addressSystem, resource);
    boolean wait = frontEnd.IsUserInMapUserSession(userName);
    assertFalse (wait);
   
    UserSession usess = new UserSession (userName, 10);
    frontEnd.userSessionToSession.put(1, usess);
    wait = frontEnd.IsUserInMapUserSession(userName);
    assertTrue (wait);
   
    wait = frontEnd.IsUserInMapUserSession("esh");
    assertFalse (wait);
  }

  @Test
  public void findAnotherReadyUserTest () {
    String userName = "esha";
    int sessionId = 1;
    FrontEnd frontEnd = new FrontEnd(messageSystem, addressSystem, resource);
    UserSession userFind = frontEnd.findAnotherReadyUser(sessionId);
    assertNull (userFind);
   
    UserSession uss = new UserSession (userName, sessionId+1);
    frontEnd.readyForGameUsers.put(1, uss);
    userFind = frontEnd.findAnotherReadyUser(sessionId);
    assertNotNull (userFind);
   
    uss.setEnemySessionId(1);
    frontEnd.readyForGameUsers.put(1, uss);
    userFind = frontEnd.findAnotherReadyUser(sessionId);
    assertNull (userFind);
   
    uss.setSessionId(1);
    frontEnd.readyForGameUsers.put(1, uss);
    userFind = frontEnd.findAnotherReadyUser(sessionId);
    assertNull (userFind);
  }
 
  @Test
  public void checkRequestTest () {
    String userName = "eshaa";
    int sessionId = 1;
    UserSession uss = new UserSession (userName, sessionId+1);
    FrontEnd frontEnd = new FrontEnd(messageSystem, addressSystem, resource);
    String[] s = new String [10] ;
    s[0] = "1";
    Map<String,String[]> mp = new HashMap<String, String[]>();
   
    RequestType result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.UNKNOWN, result);
   
    mp.put("u_name", s);
    s [0] = "1";
    mp.put("uid_with_name", s);
    when(baseRequest.getParameterMap()).thenReturn(mp);
    result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.U_NAME, result);
    mp.clear();
   
   
    s[0] = "10";
    frontEnd.userSessionToSession.put(1, uss);
      mp.put("wait_enemy", s);
    mp.put("uid_with_name", s);
    result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.UNKNOWN, result);
    mp.clear();
   
    s[0] = "1";
    frontEnd.userSessionToSession.put(1, uss);
    mp.put("wait_enemy", s);
    mp.put("uid_with_name", s);
    result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.GAME_START, result);
    mp.clear();
   
    frontEnd.userSessionToSession.put(1, uss);
    frontEnd.readyForGameUsers.clear();
    mp.put("wait_enemy", s);
    mp.put("uid_with_name", s);
    result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.WAIT_ENEMY, result);
    mp.clear();
   
    frontEnd.userSessionToSession.put(1, uss);
    frontEnd.readyForGameUsers.put(1, uss);
    mp.put("wait_enemy", s);
    mp.put("uid_with_name", s);
    result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.WAIT_ENEMY, result);
    mp.clear();
       
    s [0] = "1";
    mp.put("game_reload", s);
    mp.put("g_s_session_id", s);
    result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.RELOAD, result);
    mp.clear();
   
    mp.put("game_click", s);
    mp.put("g_s_session_id", s);
    result = frontEnd.checkRequest(baseRequest, uss);
    assertEquals (RequestType.CLICK, result);
    mp.clear();
   
  }
 
  @Test
  public void handleTest () throws IOException, ServletException {
    String target = "";
   
    FrontEnd fronte = new FrontEnd(messageSystem, addressSystem, resource);
    when(response.getWriter()).thenAnswer(RETURNS_MOCKS);
    fronte.handle(target, baseRequest, request, response);
      assertNotNull(response);
         
    String userName = "he";
    int sessionId = 1;
    Map<String,String[]> mp = new HashMap<String, String[]>();
    when(baseRequest.getParameterMap()).thenReturn(mp);
    String[] s = new String [10] ;
    s [0] = "1";
   
    mp.put("u_name", s);
    mp.put("uid_with_name", s);
    fronte.handle(target, baseRequest, request, response);
   
    UserSession uss = new UserSession (userName, sessionId);
    fronte.userSessionToSession.put(1,uss);
    fronte.handle(target, baseRequest, request, response);
    mp.clear();
   
    mp.put("wait_enemy", s);
    mp.put("uid_with_name", s);
    fronte.handle(target, baseRequest, request, response);
    mp.clear();
    fronte.userSessionToSession.clear();
   
    mp.put("game_click", s);
    mp.put("g_s_session_id", s);
    fronte.userSessionToSession.put(1,uss);
    fronte.userSessionToSession.put(0,uss);
    fronte.userSessionToSession.put(2,uss);
    fronte.handle(target, baseRequest, request, response);
   
    uss.setStopGame(true);
    fronte.handle(target, baseRequest, request, response);
    mp.clear();
   
    mp.put("game_reload", s);
    mp.put("g_s_session_id", s);   
    fronte.handle(target, baseRequest, request, response);
   
    uss.setStopGame(true);
    fronte.handle(target, baseRequest, request, response);
    mp.clear();
  }
 
  @Test
  public void updateGameStateTest() {
    int firstUserSessionId = 1;
    int firstUserId = 1;
    int secondUserSessionId = 1;
    int secondUserId = 2;
    int numFirstUserClicks = 1;
    int numSecondUserClicks = 1;
    int gameSessionId = 1;
    int gameTime = 10000;
   
    String userName = "esha1";
    int sessionId = 2;
    UserSession us = new UserSession (userName, sessionId);
    FrontEnd fre = new FrontEnd(messageSystem, addressSystem, resource);
    fre.userSessionToSession.put(1, us);
    fre.updateGameState(firstUserSessionId, firstUserId, secondUserSessionId,
        secondUserId, numFirstUserClicks, numSecondUserClicks, gameSessionId, gameTime);
    assertNotNull (FrontEnd.userSessionToSession);
  }
}










TOP

Related Classes of frontend.FrontEndTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.