public void TestSendFirst()
{
PackageHandler.SendFirstPackage();
DeviceUtil.Sleep(1000);
SendFirstTests(SendFirstState.EMPTY_QUEUE);
AddAndSendFirstPackageTest(PackageHandler);
// try to send when it is still sending
PackageHandler.SendFirstPackage();
DeviceUtil.Sleep(1000);
SendFirstTests(SendFirstState.IS_SENDING);
// try to send paused
PackageHandler.PauseSending();
PackageHandler.SendFirstPackage();
DeviceUtil.Sleep(1000);
SendFirstTests(SendFirstState.PAUSED);
// unpause, it's still sending
PackageHandler.ResumeSending();
PackageHandler.SendFirstPackage();
DeviceUtil.Sleep(1000);
SendFirstTests(SendFirstState.IS_SENDING);
// verify that both paused and isSending are reset with a new session
PackageHandler secondSessionPackageHandler = new PackageHandler(
activityHandler: MockActivityHandler,
startPaused: false);
secondSessionPackageHandler.SendFirstPackage();
DeviceUtil.Sleep(1000);
// send the package to request handler
SendFirstTests(SendFirstState.SEND, "unknownFirstPackage");
}