public function testProtectedApiSetLoopState_ExportsDataFromBackupLoop_WhenSwitchedStateFromStartedToFailed()
{
$back = $this->getMock(Loop::class, [], [], '', false);
$loop = $this->getMock(Loop::class, [], [], '', false);
$loop->expects($this->once())->method('export')->with($back)->will($this->returnSelf());
$loop->expects($this->once())->method('erase');
$runtime = $this->createModel([], ['stopLoop']);
$runtime->expects($this->once())->method('stopLoop');
$this->setProtectedProperty($runtime, 'loop', $loop);
$this->setProtectedProperty($runtime, 'loopBackup', $back);
$old = RuntimeModel::LOOP_STATE_STARTED;
$new = RuntimeModel::LOOP_STATE_FAILED;
$this->setProtectedProperty($runtime, 'loopState', $old);
$this->callProtectedMethod($runtime, 'setLoopState', [$new]);
}