/** * Copyright (C) 2009-2013 Barchart, Inc. <http://www.barchart.com/> * * All rights reserved. Licensed under the OSI BSD License. * * http://www.opensource.org/licenses/bsd-license.php */ package com.barchart.udt; import static org.junit.Assert.*; import java.net.InetSocketAddress; import org.junit.After; import org.junit.Before; import org.junit.Test; import util.TestAny; import util.UnitHelp; public class TestStatusUDT extends TestAny { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testFromCode() { assertEquals(StatusUDT.UNKNOWN, StatusUDT.from(-1)); assertEquals(StatusUDT.INIT, StatusUDT.from(1)); assertEquals(StatusUDT.OPENED, StatusUDT.from(2)); assertEquals(StatusUDT.LISTENING, StatusUDT.from(3)); assertEquals(StatusUDT.CONNECTING, StatusUDT.from(4)); assertEquals(StatusUDT.CONNECTED, StatusUDT.from(5)); assertEquals(StatusUDT.BROKEN, StatusUDT.from(6)); assertEquals(StatusUDT.CLOSING, StatusUDT.from(7)); assertEquals(StatusUDT.CLOSED, StatusUDT.from(8)); assertEquals(StatusUDT.NONEXIST, StatusUDT.from(9)); } @Test public void testSocketStatus1() throws Exception { final SocketUDT socket = new SocketUDT(TypeUDT.DATAGRAM); assertEquals(StatusUDT.INIT, socket.status()); final InetSocketAddress localAddress1 = UnitHelp.localSocketAddress(); socket.bind(localAddress1); assertEquals(StatusUDT.OPENED, socket.status()); socket.close(); assertEquals(StatusUDT.CLOSED, socket.status()); } @Test public void testSocketStatus2() throws Exception { final SocketUDT socket = new SocketUDT(TypeUDT.DATAGRAM); assertEquals(StatusUDT.INIT, socket.status()); final InetSocketAddress localAddress1 = UnitHelp.localSocketAddress(); socket.bind(localAddress1); assertEquals(StatusUDT.OPENED, socket.status()); socket.listen(1); assertEquals(StatusUDT.LISTENING, socket.status()); socket.close(); assertEquals(StatusUDT.BROKEN, socket.status()); } @Test public void testSocketStatus3() throws Exception { final InetSocketAddress clientAddress = UnitHelp.localSocketAddress(); final InetSocketAddress serverAddress = UnitHelp.localSocketAddress(); // final SocketUDT client = new SocketUDT(TypeUDT.DATAGRAM); assertEquals(StatusUDT.INIT, client.status()); final SocketUDT server = new SocketUDT(TypeUDT.DATAGRAM); assertEquals(StatusUDT.INIT, server.status()); // client.bind(clientAddress); assertEquals(StatusUDT.OPENED, client.status()); server.bind(serverAddress); assertEquals(StatusUDT.OPENED, server.status()); // server.listen(10); assertEquals(StatusUDT.LISTENING, server.status()); // // final SocketUDT accept = server.accept(); // final Thread serverThread = new Thread() { @Override public void run() { try { // final SocketUDT accept = server.accept(); // assertEquals(StatusUDT.LISTENING, accept.getStatus()); } catch (final Exception e) { fail(e.getMessage()); } } }; serverThread.start(); serverThread.join(); // Thread.sleep(10 * 1000); } }