def test_block(self):
        objects = [Block]

        res = generate_from_supported_objects(objects)

        self.assertTrue(isinstance(res, Block))
        assert_neo_object_is_compliant(res)

        self.assertEqual(len(res.segments), 0)
示例#2
0
    def generate_files_for_io_able_to_write(self):
        '''
        Write files for use in testing.
        '''
        self.files_generated = []
        if not self.able_to_write_or_read():
            return

        generate_from_supported_objects(self.ioclass.supported_objects)

        ioobj, path = self.generic_io_object(return_path=True, clean=True)
        if ioobj is None:
            return

        self.files_generated.append(path)

        write_generic(ioobj, target=self.higher)

        close_object_safe(ioobj)
示例#3
0
    def generate_files_for_io_able_to_write(self):
        '''
        Write files for use in testing.
        '''
        self.files_generated = []
        if not self.able_to_write_or_read():
            return

        generate_from_supported_objects(self.ioclass.supported_objects)

        ioobj, path = self.generic_io_object(return_path=True, clean=True)
        if ioobj is None:
            return

        self.files_generated.append(path)

        write_generic(ioobj, target=self.higher)

        close_object_safe(ioobj)
    def test_all_without_segment(self):
        objects = [Block,
                   RecordingChannelGroup, RecordingChannel, Unit,
                   AnalogSignal, AnalogSignalArray,
                   IrregularlySampledSignal, SpikeTrain,
                   Event, Epoch, Spike,
                   EventArray, EpochArray]

        res = generate_from_supported_objects(supported_objects=objects)

        self.assertTrue(isinstance(res, Block))
        assert_neo_object_is_compliant(res)

        self.assertEqual(len(res.segments), 0)
    def test_segment(self):
        objects = [Segment]

        res = generate_from_supported_objects(objects)

        self.assertTrue(isinstance(res, Segment))
        assert_neo_object_is_compliant(res)

        self.assertEqual(len(res.analogsignals), 0)
        self.assertEqual(len(res.analogsignalarrays), 0)
        self.assertEqual(len(res.irregularlysampledsignals), 0)
        self.assertEqual(len(res.spiketrains), 0)
        self.assertEqual(len(res.spikes), 0)
        self.assertEqual(len(res.events), 0)
        self.assertEqual(len(res.epochs), 0)
        self.assertEqual(len(res.eventarrays), 0)
        self.assertEqual(len(res.epocharrays), 0)
    def test_all(self):
        objects = [Block, Segment,
                   RecordingChannelGroup, RecordingChannel, Unit,
                   AnalogSignal, AnalogSignalArray,
                   IrregularlySampledSignal, SpikeTrain,
                   Event, Epoch, Spike,
                   EventArray, EpochArray]

        res = generate_from_supported_objects(objects)

        self.assertTrue(isinstance(res, Block))
        assert_neo_object_is_compliant(res)

        self.assertEqual(len(res.segments), 3)
        seg1, seg2, seg3 = res.segments

        self.assertEqual(len(seg1.analogsignals), 4)
        self.assertEqual(len(seg1.analogsignalarrays), 0)
        self.assertEqual(len(seg1.irregularlysampledsignals), 0)
        self.assertEqual(len(seg1.spiketrains), 6)
        self.assertEqual(len(seg1.spikes), 0)
        self.assertEqual(len(seg1.events), 0)
        self.assertEqual(len(seg1.epochs), 0)
        self.assertEqual(len(seg1.eventarrays), 3)
        self.assertEqual(len(seg1.epocharrays), 2)

        self.assertEqual(len(seg2.analogsignals), 4)
        self.assertEqual(len(seg2.analogsignalarrays), 0)
        self.assertEqual(len(seg2.irregularlysampledsignals), 0)
        self.assertEqual(len(seg2.spiketrains), 6)
        self.assertEqual(len(seg2.spikes), 0)
        self.assertEqual(len(seg2.events), 0)
        self.assertEqual(len(seg2.epochs), 0)
        self.assertEqual(len(seg2.eventarrays), 3)
        self.assertEqual(len(seg2.epocharrays), 2)

        self.assertEqual(len(seg3.analogsignals), 4)
        self.assertEqual(len(seg3.analogsignalarrays), 0)
        self.assertEqual(len(seg3.irregularlysampledsignals), 0)
        self.assertEqual(len(seg3.spiketrains), 6)
        self.assertEqual(len(seg3.spikes), 0)
        self.assertEqual(len(seg3.events), 0)
        self.assertEqual(len(seg3.epochs), 0)
        self.assertEqual(len(seg3.eventarrays), 3)
        self.assertEqual(len(seg3.epocharrays), 2)
    def test_block_segment(self):
        objects = [Segment, Block]

        res = generate_from_supported_objects(objects)

        self.assertTrue(isinstance(res, Block))
        assert_neo_object_is_compliant(res)

        self.assertEqual(len(res.segments), 3)
        seg1, seg2, seg3 = res.segments

        self.assertEqual(len(seg1.analogsignals), 0)
        self.assertEqual(len(seg1.analogsignalarrays), 0)
        self.assertEqual(len(seg1.irregularlysampledsignals), 0)
        self.assertEqual(len(seg1.spiketrains), 0)
        self.assertEqual(len(seg1.spikes), 0)
        self.assertEqual(len(seg1.events), 0)
        self.assertEqual(len(seg1.epochs), 0)
        self.assertEqual(len(seg1.eventarrays), 0)
        self.assertEqual(len(seg1.epocharrays), 0)

        self.assertEqual(len(seg2.analogsignals), 0)
        self.assertEqual(len(seg2.analogsignalarrays), 0)
        self.assertEqual(len(seg2.irregularlysampledsignals), 0)
        self.assertEqual(len(seg2.spiketrains), 0)
        self.assertEqual(len(seg2.spikes), 0)
        self.assertEqual(len(seg2.events), 0)
        self.assertEqual(len(seg2.epochs), 0)
        self.assertEqual(len(seg2.eventarrays), 0)
        self.assertEqual(len(seg2.epocharrays), 0)

        self.assertEqual(len(seg3.analogsignals), 0)
        self.assertEqual(len(seg3.analogsignalarrays), 0)
        self.assertEqual(len(seg3.irregularlysampledsignals), 0)
        self.assertEqual(len(seg3.spiketrains), 0)
        self.assertEqual(len(seg3.spikes), 0)
        self.assertEqual(len(seg3.events), 0)
        self.assertEqual(len(seg3.epochs), 0)
        self.assertEqual(len(seg3.eventarrays), 0)
        self.assertEqual(len(seg3.epocharrays), 0)
示例#8
0
def write_generic(ioobj, target=None, obj=None, return_writer=False):
    '''
    Write the target object to a file using the given neo io object ioobj.

    If target is None, use the first supported_objects from ioobj
    If target is False, use the 'write' method.
    If target is the Block or Segment class, use write_block or write_segment,
    respectively.
    If target is a string, use 'write_'+target.

    obj is the object to write.  If obj is None, an object is created
    automatically for the io class.

    If return_writer is True, yield the io writer function as well as the
    object. yield obj, writer.  Default is False.
    '''
    if obj is None:
        supported_objects = ioobj.supported_objects
        obj = generate_from_supported_objects(supported_objects)
    obj_writer = create_generic_writer(ioobj, target=target)
    obj_writer(obj)
    if return_writer:
        return obj, obj_writer
    return obj
示例#9
0
def write_generic(ioobj, target=None, obj=None, return_writer=False):
    '''
    Write the target object to a file using the given neo io object ioobj.

    If target is None, use the first supported_objects from ioobj
    If target is False, use the 'write' method.
    If target is the Block or Segment class, use write_block or write_segment,
    respectively.
    If target is a string, use 'write_'+target.

    obj is the object to write.  If obj is None, an object is created
    automatically for the io class.

    If return_writer is True, yield the io writer function as well as the
    object. yield obj, writer.  Default is False.
    '''
    if obj is None:
        supported_objects = ioobj.supported_objects
        obj = generate_from_supported_objects(supported_objects)
    obj_writer = create_generic_writer(ioobj, target=target)
    obj_writer(obj)
    if return_writer:
        return obj, obj_writer
    return obj