protected function getPreparedElection($methods) { $electionMock = new Election(); $electionMock->detachBehavior('statusState'); $statusStateConf = $electionMock->behaviors(); $statusStateConf = $statusStateConf['statusState']; $statesConf = $statusStateConf['states']; unset($statusStateConf['states']); $behaviorMock = Yii::createComponent($statusStateConf); $electFinishedStateConf = $statesConf[4]; $this->electionFinishedStateMock = $this->getMock('ElectionFinishedState', $methods, array('name' => $electFinishedStateConf['name'], 'owner' => $behaviorMock)); unset($electFinishedStateConf['class']); foreach ($electFinishedStateConf as $name => $value) { $this->electionFinishedStateMock->{$name} = $value; } $statesConf[4] = $this->electionFinishedStateMock; $behaviorMock->setStates($statesConf); $electionMock->attachBehavior('statusState', $behaviorMock); return $electionMock; }