Package net.alteiar.test

Source Code of net.alteiar.test.LoadCampaignTest

package net.alteiar.test;

import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeoutException;

import net.alteiar.campaign.CampaignClient;
import net.alteiar.campaign.CampaignFactoryNew;
import net.alteiar.kryo.MyKryoInit;
import net.alteiar.newversion.server.ServerDocuments;
import net.alteiar.player.Player;

import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;

public class LoadCampaignTest extends BasicTest {
  private String originalName;
  private ServerDocuments server;

  @Before
  public void beforeTest() throws TimeoutException {
    // Start a server
    try {
      server = new ServerDocuments(4545, "abc");
    } catch (IOException e) {
      Logger.getLogger(CampaignClient.class).error(
          "fail to start server", e);
    }

    System.out.println("Setting up test");
    String address = "127.0.0.1";
    int port = 4545;

    CampaignFactoryNew.loadCampaign(address, port, "./save",
        getGlobalDirectory(), getCampaignDirectory(), new MyKryoInit());

    long before = System.currentTimeMillis();
    int currentSize = CampaignClient.getInstance().getPlayers().size();
    while (currentSize == 0) {
      currentSize = CampaignClient.getInstance().getPlayers().size();

      long end = System.currentTimeMillis();
      if ((end - before) == 3000L) {
        throw new TimeoutException("take to much time");
      }
    }
    List<Player> players = CampaignClient.getInstance().getPlayers();
    CampaignClient.getInstance().selectPlayer(players.get(0));
    originalName = players.get(0).getName();
  }

  @After
  public void afterTest() {
    System.out.println("tearing down");
    try {
      // finalyze all actions
      Thread.sleep(100);
    } catch (InterruptedException e) {
      Logger.getLogger(CampaignClient.class).error("fail to sleep", e);
    }

    try {
      CampaignClient.getInstance().saveGame();
    } catch (Exception e) {
      Logger.getLogger(CampaignClient.class).error("Fail to save", e);
    }
    CampaignFactoryNew.leaveGame();

    server.stopServer();
  }

  @Override
  public String getPlayerName() {
    return originalName;
  }

}
TOP

Related Classes of net.alteiar.test.LoadCampaignTest

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.