public void PersistentReceiverReturnsTask()
{
var p = new Port<int> ();
IPortReceive ipr = p;
VoidDispatcherQueue dq = new VoidDispatcherQueue ();
ReceiverTask rt = new EvalTask (true, new NullTask ());
rt.State = ReceiverTaskState.Persistent;
rt.TaskQueue = dq;
ipr.RegisterReceiver (rt);
Assert.AreEqual (1, ipr.GetReceivers ().Length, "#1");
p.Post (10);
Assert.AreEqual (1, dq.queuedTasks, "#2");
Assert.AreEqual (1, ipr.GetReceivers ().Length, "#3");
p.Post (20);
Assert.AreEqual (2, dq.queuedTasks, "#4");
Assert.AreEqual (1, ipr.GetReceivers ().Length, "#5");
}