def _start_guider(self, nWarn=0, **kwargs): guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science']) guiderTester.updateModel('tcc', TestHelper.tccState['tracking']) self.gState.cartridge = self.actorState.models['guider'].keyVarDict[ 'cartridgeLoaded'][0] masterThread.start_guider(self.cmd, self.gState, self.actorState, self.actorState.queues, **kwargs) msg = self.queues[guiderActor.MASTER].get(False) self.assertEqual(msg.type, guiderActor.Msg.STATUS) self.assertFalse(msg.finish) self.assertEqual(self.gState.cmd, self.cmd) startFrame = self.actorState.models['gcamera'].keyVarDict['nextSeqno'][ 0] + 1 self.assertEqual(self.gState.startFrame, startFrame) msg = self.queues[guiderActor.GCAMERA].get(False) self.assertEqual(msg.type, guiderActor.Msg.EXPOSE) self.assertEqual(msg.camera, kwargs.get('camera', 'gcamera')) self.assertEqual(msg.expTime, kwargs.get('expTime', 5)) self.assertEqual(msg.stack, kwargs.get('stack', 1)) self._check_cmd(0, 1, nWarn, 0, False)
def test_start_guider_not_ok_to_guide(self): guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science']) guiderTester.updateModel('tcc', TestHelper.tccState['stopped']) self.gState.cartridge = self.actorState.models['guider'].keyVarDict[ 'cartridgeLoaded'][0] masterThread.start_guider(self.cmd, self.gState, self.actorState, self.actorState.queues) self.assertTrue(self.queues[guiderActor.GCAMERA].empty()) self.assertTrue(self.queues[guiderActor.MASTER].empty()) self.assertIsNone(self.gState.cmd) self._check_cmd(0, 0, 1, 0, True, True)
def test_tcc_motion_bypassed(self): guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science']) guiderTester.updateModel('tcc', TestHelper.tccState['halted']) self.actorState.models['sop'].keyVarDict['bypassedNames'].set(['axes']) self._guidingIsOK(True, 1)
def test_tcc_halted(self): guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science']) guiderTester.updateModel('tcc', TestHelper.tccState['halted']) self._guidingIsOK(False, 1)
def test_arclamps_on_bypassed(self): guiderTester.updateModel('mcp', TestHelper.mcpState['arcs']) guiderTester.updateModel('tcc', TestHelper.tccState['tracking']) self.actorState.models['sop'].keyVarDict['bypassedNames'].set( ['ffs', 'lamp_hgcd', 'lamp_ne']) self._guidingIsOK(True, 1)
def test_arclamps_on(self): guiderTester.updateModel('mcp', TestHelper.mcpState['arcs']) guiderTester.updateModel('tcc', TestHelper.tccState['tracking']) self._guidingIsOK(False, 1)
def test_ffs_closed_bypassed(self): guiderTester.updateModel('mcp', TestHelper.mcpState['all_off']) guiderTester.updateModel('tcc', TestHelper.tccState['tracking']) self.actorState.models['sop'].keyVarDict['bypassedNames'].set(['ffs']) self._guidingIsOK(True, 1)
def test_ffs_closed(self): guiderTester.updateModel('mcp', TestHelper.mcpState['all_off']) guiderTester.updateModel('tcc', TestHelper.tccState['tracking']) self._guidingIsOK(False, 1)
def test_boss_science(self): guiderTester.updateModel('mcp', TestHelper.mcpState['boss_science']) guiderTester.updateModel('tcc', TestHelper.tccState['tracking']) self._guidingIsOK(True)