package org.asteriskjava.live.internal;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import junit.framework.TestCase;
import org.asteriskjava.live.ChannelState;
import org.asteriskjava.util.DateUtil;
public class AsteriskChannelImplTest extends TestCase
{
private AsteriskChannelImpl channel;
private int numberOfChanges;
@Override
public void setUp()
{
AsteriskServerImpl server = new AsteriskServerImpl();
channel = new AsteriskChannelImpl(server, "SIP/1234", "0123456789.123", DateUtil.getDate());
channel.stateChanged(DateUtil.getDate(), ChannelState.DOWN);
numberOfChanges = 0;
}
public void testStateChange()
{
channel.addPropertyChangeListener(new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent evt)
{
assertEquals("wrong propertyName", "state", evt.getPropertyName());
assertEquals("wrong oldValue", ChannelState.DOWN, evt.getOldValue());
assertEquals("wrong newValue", ChannelState.DIALING, evt.getNewValue());
assertEquals("wrong source", channel, evt.getSource());
numberOfChanges++;
}
});
channel.stateChanged(DateUtil.getDate(), ChannelState.DIALING);
assertEquals("wrong number of propagated changes", 1, numberOfChanges);
}
}