Package it.polito.appeal.traci.test

Source Code of it.polito.appeal.traci.test.RemoteTraCITest

/*  
    Copyright (C) 2013 ApPeAL Group, Politecnico di Torino

    This file is part of TraCI4J.

    TraCI4J is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    TraCI4J is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with TraCI4J.  If not, see <http://www.gnu.org/licenses/>.
*/

package it.polito.appeal.traci.test;

import static org.junit.Assert.*;

import java.io.IOException;
import java.net.InetAddress;

import it.polito.appeal.traci.SumoTraciConnection;

import org.apache.log4j.BasicConfigurator;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

@SuppressWarnings("javadoc")
public class RemoteTraCITest {

  private Process sumoProcess;

  private SumoTraciConnection conn;
 
  private static final int PORT = 5450;
 
  static {
    BasicConfigurator.configure();
  }
 
  @Before
  public void setUp() throws IOException, InterruptedException {
    String exe = System.getProperty(SumoTraciConnection.SUMO_EXE_PROPERTY);
    if (exe == null) {
      exe = "sumo";
    }
   
    String[] args = new String[] {
      exe,
      "-c", "test/sumo_maps/variable_speed_signs/test.sumo.cfg",
      "--remote-port", Integer.toString(PORT),
    };
   
    sumoProcess = Runtime.getRuntime().exec(args);
   
    try {
      int exitVal = sumoProcess.exitValue();
      throw new IOException("SUMO died with exit value " + exitVal);
    }
    catch (IllegalThreadStateException e) {
      // all OK, it's alive
    }
   
    conn = new SumoTraciConnection(InetAddress.getLocalHost(), PORT);
  }
 
  @After
  public void tearDown() throws IOException, InterruptedException {
    conn.close();
  }
 
  @Test
  public void testNotClosed() {
    assertFalse(conn.isClosed());
  }
 
  @Test
  public void testClosesIfAskedTo() throws IOException, InterruptedException {
    conn.close();
    assertTrue(conn.isClosed());
  }
 
  @Test
  public void testCommunicationWorks() throws IOException {
    int simTime = conn.getSimulationData().queryCurrentSimTime().get();
    assertEquals(0, simTime);
  }
}
TOP

Related Classes of it.polito.appeal.traci.test.RemoteTraCITest

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.