/*
* Copyright (C) 2003, C. Ramakrishnan / Auracle.
* 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;
import com.illposed.osc.utility.OSCPacketDispatcher;
/**
* @author Chandrasekhar Ramakrishnan
* @see OSCPacketDispatcher
*/
public class OSCPacketDispatcherTest extends junit.framework.TestCase {
private OSCPacketDispatcher dispatcher;
private TestOSCListener listener1;
private TestOSCListener listener2;
@Override
protected void setUp() throws Exception {
dispatcher = new OSCPacketDispatcher();
listener1 = new TestOSCListener();
dispatcher.addListener("/listener1", listener1);
listener2 = new TestOSCListener();
dispatcher.addListener("/listener2", listener2);
}
@Override
protected void tearDown() throws Exception {
}
public void testDispatchToListener1() throws Exception {
OSCMessage message = new OSCMessage("/listener1");
dispatcher.dispatchPacket(message);
if (!listener1.isMessageReceived()) {
fail("Message to listener1 didn't get sent to listener1");
}
if (listener2.isMessageReceived()) {
fail("Message to listener1 got sent to listener2");
}
}
public void testDispatchToListener2() throws Exception {
OSCMessage message = new OSCMessage("/listener2");
dispatcher.dispatchPacket(message);
if (listener1.isMessageReceived()) {
fail("Message to listener2 got sent to listener1");
}
if (!listener2.isMessageReceived()) {
fail("Message to listener2 didn't get sent to listener2");
}
}
public void testDispatchToNobody() throws Exception {
OSCMessage message = new OSCMessage("/nobody");
dispatcher.dispatchPacket(message);
if (listener1.isMessageReceived() || listener2.isMessageReceived()) {
fail("Message to nobody got dispatched incorrectly");
}
}
public void testDispatchBundle() throws Exception {
OSCBundle bundle = new OSCBundle();
bundle.addPacket(new OSCMessage("/listener1"));
bundle.addPacket(new OSCMessage("/listener2"));
dispatcher.dispatchPacket(bundle);
if (!listener1.isMessageReceived()) {
fail("Bundle didn't dispatch message to listener 1");
}
if (!listener2.isMessageReceived()) {
fail("Bundle didn't dispatch message to listener 2");
}
}
}