1
2
3
4
5
6
7 package org.sourceforge.jvb3d.Network;
8
9 import java.io.IOException;
10 import java.net.InetAddress;
11
12 import junit.framework.TestCase;
13
14 /***
15 * @author Develop
16 *
17 * TODO To change the template for this generated type comment go to Window -
18 * Preferences - Java - Code Style - Code Templates
19 */
20 public class SenderReceiverTest extends TestCase {
21 class TestSender extends Thread {
22 NetworkSender sender;
23
24 UpdatePacket packet;
25
26 TestSender() throws IOException {
27 sender = new NetworkSender();
28 packet = new UpdatePacket();
29 }
30
31 public void run() {
32 for (int i = 0; i < 10; i++) {
33 packet.setUpdateData(("update" + i).getBytes());
34 try {
35 sender.send(packet, InetAddress.getByName("localhost"),
36 2004);
37 Thread.sleep(100);
38 } catch (Exception e) {
39 fail("TestSender - wyj¹tek: " + e);
40 }
41 }
42 }
43 }
44
45 public void testRun() throws Exception {
46 NetworkReceiver receiver = new NetworkReceiver(2004);
47 ReceivedPacketBuffer buffer = new ReceivedPacketBuffer();
48 receiver.connectToBuffer(buffer);
49 TestObserver observer = new TestObserver();
50 buffer.addObserver(observer);
51 receiver.start();
52
53 TestSender sender = new TestSender();
54 sender.start();
55
56 Packet packet = null;
57 for (int i = 0; i < 10; i++) {
58 try {
59 int j=0;
60 while ((packet = observer.getPacket()) == null && j++ < 10)
61 Thread.sleep(100);
62 assertEquals("Z³y pakiet otrzymany", new String(((UpdatePacket)packet).getUpdateData()), "update"+i);
63 } catch (Exception e) {
64 fail("testRun - z³apano wyj¹tek: " + e);
65 }
66 }
67 receiver.finish();
68 }
69 }