001 /* 002 * $Id: SocketChannelTest.java 3279 2010-08-21 20:18:25Z kredel $ 003 */ 004 005 // from package edu.unima.ky.parallel; 006 package edu.jas.util; 007 008 import java.io.IOException; 009 010 import junit.framework.Test; 011 import junit.framework.TestCase; 012 import junit.framework.TestSuite; 013 014 015 import org.apache.log4j.BasicConfigurator; 016 017 /** 018 * SocketChannel tests with JUnit. 019 * Refactored for java.util.concurrent. 020 * @author Akitoshi Yoshida 021 * @author Heinz Kredel. 022 */ 023 024 public class SocketChannelTest extends TestCase { 025 026 public static void main (String[] args) { 027 BasicConfigurator.configure(); 028 junit.textui.TestRunner.run( suite() ); 029 } 030 031 public SocketChannelTest(String name) { 032 super(name); 033 } 034 035 public static Test suite() { 036 TestSuite suite= new TestSuite(SocketChannelTest.class); 037 return suite; 038 } 039 040 private ChannelFactory cf; 041 private SocketChannel sc1; 042 private SocketChannel sc2; 043 private String host; 044 private int port; 045 046 protected void setUp() { 047 host = "localhost"; 048 port = 4711; 049 cf = new ChannelFactory(port); 050 cf.init(); 051 try { 052 sc1 = cf.getChannel(host,port); 053 sc2 = cf.getChannel(); 054 } catch(IOException e) { 055 fail("IOException"+e); 056 } catch (InterruptedException e) { 057 fail("InterruptedException"+e); 058 } 059 } 060 061 protected void tearDown() { 062 cf.terminate(); 063 sc1.close(); 064 sc2.close(); 065 try { 066 Thread.sleep(1); 067 } catch(InterruptedException e) { 068 fail("InterruptedException"+e); 069 } 070 } 071 072 public void testSocketChannel0() { 073 // test setUp() and tearDown() 074 } 075 076 public void testSocketChannel1() { 077 Object o = new Integer(0); 078 try { 079 sc1.send(o); 080 assertEquals(o,sc2.receive()); 081 } catch(IOException e) { 082 fail("Exception"+e); 083 } catch(ClassNotFoundException e) { 084 fail("Exception"+e); 085 } 086 } 087 088 public void testSocketChannel2() { 089 Object o = new Integer(0); 090 try { 091 sc1.send(o); 092 sc2.send(o); 093 assertEquals(o,sc1.receive()); 094 assertEquals(o,sc2.receive()); 095 } catch(IOException e) { 096 fail("Exception"+e); 097 } catch(ClassNotFoundException e) { 098 fail("Exception"+e); 099 } 100 } 101 102 public void testSocketChannel3() { 103 int n = 10; 104 Object o; 105 try { 106 for (int i = 0; i < n; i++) { 107 o = new Integer(i); 108 sc1.send(o); 109 } 110 for (int i = 0; i < n; i++) { 111 o = new Integer(i); 112 assertEquals(o,sc2.receive()); 113 } 114 } catch(IOException e) { 115 fail("Exception"+e); 116 } catch(ClassNotFoundException e) { 117 fail("Exception"+e); 118 } 119 } 120 121 } 122