from AvizoTest import AvizoTest from _hx_core import HxConnection, HxObjectFactory, HxPaths, HxProject class TestHxConnection(AvizoTest): def test_doc(self): self.assert_class_has_docstrings( HxConnection ) def test_all_nogui(self): # load motor motor = HxObjectFactory().load(HxPaths().tutorials_dir + '/chocolate-bar.am') # create an orthoslice ortho = HxObjectFactory().create('HxOrthoSlice') ortho.name = "Ortho Slice of TestHxConnection" port_data = ortho.ports.data # test connect/source()/connected: port_data.connect(motor) self.assertTrue(motor.is_same_object(port_data.source())) self.assertTrue(port_data.connected) # test disconnect: port_data.disconnect() self.assertEqual(None, port_data.source()) self.assertFalse(port_data.connected) # We will reconnect the port and be sure that connecting it to None # actually disconnect it. port_data.connect(motor) port_data.connect(None) self.assertEqual(None, port_data.source()) # test valid_types: ortho_valid_types = ['HxUniformScalarField3', 'HxStackedScalarField3', 'HxRegColorField3', 'HxMultiChannelField3'] self.assertEqual( port_data.valid_types, ortho_valid_types ) some_valid_typelists = [ ['HxUniformScalarField3', 'HxStackedScalarField3', 'HxRegColorField3', 'HxMultiChannelField3'], ['HxUniformScalarField3', 'HxRegColorField3', 'HxMultiChannelField3'], ['HxUniformScalarField3', 'HxMultiChannelField3'], ['HxUniformScalarField3'] ] self.assert_property(HxConnection, port_data, "valid_types", some_valid_typelists) self.assert_boolean_property(HxConnection, port_data, "editable") def test_all_gui(self): # load motor motor = HxProject().load(HxPaths().tutorials_dir + '/chocolate-bar.am') motor.selected = True # create an orthoslice ortho = HxProject().create('HxOrthoSlice') ortho.name = "Ortho Slice of TestHxConnection" ortho.selected = True port_data = ortho.ports.data # test connect/source()/connected: port_data.connect(motor) self.assertTrue(motor.is_same_object(port_data.source())) self.assertTrue(port_data.connected) # test disconnect: port_data.disconnect() self.assertEqual(None, port_data.source()) self.assertFalse(port_data.connected) # test valid_types: ortho_valid_types = ['HxUniformScalarField3', 'HxStackedScalarField3', 'HxRegColorField3', 'HxMultiChannelField3'] self.assertEqual( port_data.valid_types, ortho_valid_types ) some_valid_typelists = [ ['HxUniformScalarField3', 'HxStackedScalarField3', 'HxRegColorField3', 'HxMultiChannelField3'], ['HxUniformScalarField3', 'HxRegColorField3', 'HxMultiChannelField3'], ['HxUniformScalarField3', 'HxMultiChannelField3'], ['HxUniformScalarField3'] ] self.assert_property(HxConnection, port_data, "valid_types", some_valid_typelists) self.assert_boolean_property(HxConnection, port_data, "editable") HxProject().remove(motor) HxProject().remove(ortho)