/* * Copyright (C) 2001, C. Ramakrishnan / Illposed Software. * All rights reserved. * * This code is licensed under the BSD 3-Clause license. * See file LICENSE (or LICENSE.html) for more information. */ package com.illposed.osc; /** * @author Chandrasekhar Ramakrishnan * @see OSCPort * @see OSCPortIn * @see OSCPortOut */ public class OSCPortTest extends junit.framework.TestCase { private OSCPortOut sender; private OSCPortIn receiver; @Override protected void setUp() throws Exception { super.setUp(); sender = new OSCPortOut(); receiver = new OSCPortIn(OSCPort.defaultSCOSCPort()); } @Override protected void tearDown() throws Exception { sender.close(); receiver.close(); super.tearDown(); } public void testStart() throws Exception { OSCMessage mesg = new OSCMessage("/sc/stop"); sender.send(mesg); } public void testMessageWithArgs() throws Exception { Object args[] = new Object[2]; args[0] = new Integer(3); args[1] = "hello"; OSCMessage mesg = new OSCMessage("/foo/bar", args); sender.send(mesg); } public void testBundle() throws Exception { Object args[] = new Object[2]; OSCPacket mesgs[] = new OSCPacket[1]; args[0] = new Integer(3); args[1] = "hello"; OSCMessage mesg = new OSCMessage("/foo/bar", args); mesgs[0] = mesg; OSCBundle bundle = new OSCBundle(mesgs); sender.send(bundle); } public void testBundle2() throws Exception { OSCMessage mesg = new OSCMessage("/foo/bar"); mesg.addArgument(new Integer(3)); mesg.addArgument("hello"); OSCBundle bundle = new OSCBundle(); bundle.addPacket(mesg); sender.send(bundle); } public void testReceiving() throws Exception { OSCMessage mesg = new OSCMessage("/message/receiving"); TestOSCListener listener = new TestOSCListener(); receiver.addListener("/message/receiving", listener); receiver.startListening(); sender.send(mesg); Thread.sleep(100); // wait a bit receiver.stopListening(); if (!listener.isMessageReceived()) { fail("Message was not received"); } } public void testBundleReceiving() throws Exception { OSCBundle bundle = new OSCBundle(); bundle.addPacket(new OSCMessage("/bundle/receiving")); TestOSCListener listener = new TestOSCListener(); receiver.addListener("/bundle/receiving", listener); receiver.startListening(); sender.send(bundle); Thread.sleep(100); // wait a bit receiver.stopListening(); if (!listener.isMessageReceived()) { fail("Message was not received"); } if (!listener.getReceivedTimestamp().equals(bundle.getTimestamp())) { fail("Message should have timestamp " + bundle.getTimestamp() + " but has " + listener.getReceivedTimestamp()); } } }