def test_electrode_group_factory_create_ElectrodeGroup_successfully(self):
        mock_probe = Mock(spec=Probe)
        mock_device = Mock(spec=Device)

        mock_fl_electrode_group_1 = Mock(spec=FlElectrodeGroup)
        mock_fl_electrode_group_1.name = '0'
        mock_fl_electrode_group_1.description = 'ElectrodeGroup 1'
        mock_fl_electrode_group_1.location = 'mPFC'
        mock_fl_electrode_group_1.device = mock_probe

        mock_fl_electrode_group_2 = Mock(spec=FlElectrodeGroup)
        mock_fl_electrode_group_2.name = '1'
        mock_fl_electrode_group_2.description = 'ElectrodeGroup 2'
        mock_fl_electrode_group_2.location = 'mPFC'
        mock_fl_electrode_group_2.device = mock_device

        electrode_group_1 = ElectrodeGroupFactory.create_electrode_group(
            mock_fl_electrode_group_1)
        electrode_group_2 = ElectrodeGroupFactory.create_electrode_group(
            mock_fl_electrode_group_2)

        self.assertIsNotNone(electrode_group_1)
        self.assertIsNotNone(electrode_group_2)
        self.assertEqual(electrode_group_1.name, "0")
        self.assertEqual(electrode_group_1.description, 'ElectrodeGroup 1')
        self.assertEqual(electrode_group_1.location, 'mPFC')
        self.assertEqual(electrode_group_1.device, mock_probe)
        self.assertEqual(electrode_group_2.name, '1')
        self.assertEqual(electrode_group_2.description, 'ElectrodeGroup 2')
        self.assertEqual(electrode_group_2.location, 'mPFC')
        self.assertEqual(electrode_group_2.device, mock_device)
    def test_electrode_group_factory_failed_creating_ElectrodeGroup_due_to_lack_of_FlElectrodeGroup_attr(
            self):
        mock_fl_electrode_group_1 = Mock(spec=FlElectrodeGroup)
        mock_fl_electrode_group_1.name = 'ElectrodeGroup 1'
        mock_fl_electrode_group_1.description = 'sample desciption 1'
        mock_fl_electrode_group_1.location = 'sample location 1'
        mock_fl_electrode_group_1.device = None

        ElectrodeGroupFactory.create_electrode_group(mock_fl_electrode_group_1)
    def test_electrode_group_factory_create_NwbElectrodeGroup_successfully(
            self):
        mock_probe = Mock(spec=Probe)
        mock_device = Mock(spec=Device)

        mock_fl_nwb_electrode_group_1 = Mock(spec=FlNwbElectrodeGroup)
        mock_fl_nwb_electrode_group_1.name = '0'
        mock_fl_nwb_electrode_group_1.description = 'ElectrodeGroup 1'
        mock_fl_nwb_electrode_group_1.location = 'mPFC'
        mock_fl_nwb_electrode_group_1.device = mock_probe
        mock_fl_nwb_electrode_group_1.targeted_location = 'Sample location'
        mock_fl_nwb_electrode_group_1.targeted_x = 0.0
        mock_fl_nwb_electrode_group_1.targeted_y = 0.0
        mock_fl_nwb_electrode_group_1.targeted_z = 0.0
        mock_fl_nwb_electrode_group_1.units = 'um'

        mock_fl_nwb_electrode_group_2 = Mock(spec=FlNwbElectrodeGroup)
        mock_fl_nwb_electrode_group_2.name = '1'
        mock_fl_nwb_electrode_group_2.description = 'ElectrodeGroup 2'
        mock_fl_nwb_electrode_group_2.location = 'mPFC'
        mock_fl_nwb_electrode_group_2.device = mock_device
        mock_fl_nwb_electrode_group_2.targeted_location = 'Sample location'
        mock_fl_nwb_electrode_group_2.targeted_x = 0.0
        mock_fl_nwb_electrode_group_2.targeted_y = 0.0
        mock_fl_nwb_electrode_group_2.targeted_z = 0.0
        mock_fl_nwb_electrode_group_2.units = 'mm'

        nwb_electrode_group_1 = ElectrodeGroupFactory.create_nwb_electrode_group(
            mock_fl_nwb_electrode_group_1)
        nwb_electrode_group_2 = ElectrodeGroupFactory.create_nwb_electrode_group(
            mock_fl_nwb_electrode_group_2)

        self.assertIsNotNone(nwb_electrode_group_1)
        self.assertIsNotNone(nwb_electrode_group_2)
        self.assertEqual(nwb_electrode_group_1.name, "0")
        self.assertEqual(nwb_electrode_group_1.description, 'ElectrodeGroup 1')
        self.assertEqual(nwb_electrode_group_1.location, 'mPFC')
        self.assertEqual(nwb_electrode_group_1.device, mock_probe)
        self.assertEqual(nwb_electrode_group_1.targeted_location,
                         'Sample location')
        self.assertEqual(nwb_electrode_group_1.targeted_x, 0.0)
        self.assertEqual(nwb_electrode_group_1.targeted_y, 0.0)
        self.assertEqual(nwb_electrode_group_1.targeted_z, 0.0)
        self.assertEqual(nwb_electrode_group_1.units, 'um')

        self.assertEqual(nwb_electrode_group_2.name, '1')
        self.assertEqual(nwb_electrode_group_2.description, 'ElectrodeGroup 2')
        self.assertEqual(nwb_electrode_group_2.location, 'mPFC')
        self.assertEqual(nwb_electrode_group_2.device, mock_device)
        self.assertEqual(nwb_electrode_group_2.targeted_location,
                         'Sample location')
        self.assertEqual(nwb_electrode_group_2.targeted_x, 0.0)
        self.assertEqual(nwb_electrode_group_2.targeted_y, 0.0)
        self.assertEqual(nwb_electrode_group_2.targeted_z, 0.0)
        self.assertEqual(nwb_electrode_group_2.units, 'mm')
    def test_electrode_group_factory_failed_creating_NwbElectrodeGroup_due_to_lack_of_FlNwbElectrodeGroup_attr(
            self):
        mock_fl_nwb_electrode_group_1 = Mock(spec=FlNwbElectrodeGroup)
        mock_fl_nwb_electrode_group_1.name = 'ElectrodeGroup 1'
        mock_fl_nwb_electrode_group_1.description = 'sample desciption 1'
        mock_fl_nwb_electrode_group_1.location = 'sample location 1'
        mock_fl_nwb_electrode_group_1.device = None
        mock_fl_nwb_electrode_group_1.targeted_location = None
        mock_fl_nwb_electrode_group_1.targeted_x = None
        mock_fl_nwb_electrode_group_1.targeted_y = None
        mock_fl_nwb_electrode_group_1.targeted_z = None
        mock_fl_nwb_electrode_group_1.units = None

        ElectrodeGroupFactory.create_nwb_electrode_group(
            mock_fl_nwb_electrode_group_1)
Exemple #5
0
class ElectrodeGroupOriginator:
    def __init__(self, metadata):
        self.fl_nwb_electrode_group_manager = FlNwbElectrodeGroupManager(
            metadata['electrode groups'])
        self.electrode_group_creator = ElectrodeGroupFactory()
        self.electrode_group_injector = ElectrodeGroupInjector()

    def make(self, nwb_content, probes, electrode_groups_valid_map):
        logger.info('ElectrodeGroups: Building')
        fl_nwb_electrode_groups = self.fl_nwb_electrode_group_manager.get_fl_nwb_electrode_groups(
            probes=probes,
            electrode_groups_valid_map=electrode_groups_valid_map)
        logger.info('ElectrodeGroups: Creating')
        nwb_electrode_groups = [
            self.electrode_group_creator.create_nwb_electrode_group(
                nwb_electrode_group)
            for nwb_electrode_group in fl_nwb_electrode_groups
        ]
        logger.info('ElectrodeGroups: Injecting into NWB')
        self.electrode_group_injector.inject_all_electrode_groups(
            nwb_content, nwb_electrode_groups)
        return nwb_electrode_groups
 def test_electrode_group_factory_failed_creating_NwbElectrodeGroup_due_to_lack_of_FLNwbElectrodeGroup(
         self):
     ElectrodeGroupFactory.create_nwb_electrode_group(None)
Exemple #7
0
 def __init__(self, metadata):
     self.fl_nwb_electrode_group_manager = FlNwbElectrodeGroupManager(
         metadata['electrode groups'])
     self.electrode_group_creator = ElectrodeGroupFactory()
     self.electrode_group_injector = ElectrodeGroupInjector()