Code Search for Developers
 
 
  

NetworkCommunicationTest.java from MASE: Agile Software Engineering at Krugle


Show NetworkCommunicationTest.java syntax highlighted

package test.planner;

import java.net.ServerSocket;

import org.junit.Assert;
import org.junit.Test;

import persister.Message;
import persister.impl.data.MessageDataObject;
import persister.network.NetworkClient;
import persister.network.NetworkServer;
import persister.network.ServerContext;


public class NetworkCommunicationTest {

	@Test
	public void testOpenServerSocket()throws Exception{
		new NetworkServer(1234,null);
		try{
			new ServerSocket(1234);
			Assert.fail();
			
		}catch(Exception e){
			Assert.assertTrue(true);
		}

	}

	@Test
	public void testSendFromServerToClientMessage()throws Exception{
		NetworkServer server = new NetworkServer(5050,null);

		Thread.sleep(100);
		MockClientCommunicator communicator = new MockClientCommunicator(null, -1);
		new NetworkClient("localhost", 5050, communicator);	
	
		Message msg = new MessageDataObject(0);
		server.send(msg);
		
		Thread.sleep(100);
		Assert.assertTrue(communicator.messageReceived().getMessageType() == msg.getMessageType());
		server.kill();
	}
	
	@Test
	public void testSendFromClientToServerMessage()throws Exception{
		MockServerCommunicator communicator = new MockServerCommunicator(null, null, 5050);
		NetworkServer server = new NetworkServer(5050, communicator);

		Thread.sleep(100);
		NetworkClient client = new NetworkClient("localhost", 5050,null);

		Message msg = new MessageDataObject(0);
		client.send(msg);
		
		Thread.sleep(100);
		Assert.assertTrue(communicator.messageReceived().getMessageType() == msg.getMessageType());
		server.kill();
	}

	@Test
	public void testBuildContext() throws Exception{
		NetworkServer server = new NetworkServer(9999,null);
		
		ServerContext context = server.buildContext(1234);
		Assert.assertEquals(1234, context.getPort());
		server.kill();
	}


}




See more files for this project here

MASE: Agile Software Engineering

The MASE project investigates methods to support the coordination and executable acceptance testing of software projects. Keywords: Agile methods, distributed teams, Extreme Programming. See http://ebe.cpsc.ucalgary.ca/ebe for more information.

Project homepage: http://sourceforge.net/projects/mase
Programming language(s): Java,XML
License: other

  AsynchronousDistributedPersisterTest.java
  AsynchronousPersisterTest.java
  MockClientCommunicator.java
  MockServerCommunicator.java
  NetworkCommunicationTest.java
  PersisterTest.java
  SynchronousPersisterTest.java