def should_import_epochs(self): expt2 = self.ctx.insertProject("project2","project2",DateTime()).insertExperiment("purpose", DateTime()) protocol2 = self.ctx.insertProtocol("protocol", "description") epoch_start = DateTime() epoch = expt2.insertEpoch(Maps.newHashMap(), Maps.newHashMap(), epoch_start, DateTime(), protocol2, to_map({}), to_map({})) segment = self.block.segments[0] neoepoch = neo.core.epoch.Epoch(10 * pq.ms, 100 * pq.ms, "epoch1") segment.epochs.append(neoepoch) try: import_timeline_annotations(epoch, segment, epoch_start) annotations = list(iterable(epoch.getUserTimelineAnnotations(self.ctx.getAuthenticatedUser()))) assert_equals(1, len(annotations)) assert_equals(epoch_start.plusMillis(10).getMillis(), annotations[0].getStart().getMillis()) assert_equals(epoch_start.plusMillis(10).plusMillis(100).getMillis(), annotations[0].getEnd().get().getMillis()) finally: segment.epochs.remove(neoepoch)
def should_import_events(self): expt2 = self.ctx.insertProject("project2","project2",DateTime()).insertExperiment("purpose", DateTime()) protocol2 = self.ctx.insertProtocol("protocol", "description") epoch_start = DateTime() epoch = expt2.insertEpoch(Maps.newHashMap(), Maps.newHashMap(), epoch_start, DateTime(), protocol2, to_map(dict()), to_map(dict())) segment = self.block.segments[0] event_ms = 10 event1 = Event(event_ms * pq.ms, "event1", name = "event1") segment.events.append(event1) try: import_timeline_annotations(epoch, segment, epoch_start) annotations = list(iterable(epoch.getUserTimelineAnnotations(self.ctx.getAuthenticatedUser()))) assert(epoch_start.plusMillis(event_ms).equals(annotations[0].getStart())) assert_equals(1, len(annotations)) finally: segment.events.remove(event1)
def should_import_event_arrays(self): expt2 = self.ctx.insertProject("project2","project2",DateTime()).insertExperiment("purpose", DateTime()) protocol2 = self.ctx.insertProtocol("protocol", "description") epoch_start = DateTime() epoch = expt2.insertEpoch(Maps.newHashMap(), Maps.newHashMap(), epoch_start, DateTime(), protocol2, to_map({}), to_map({})) segment = self.block.segments[0] event_ms = [10, 12] event_array = EventArray(times=np.array(event_ms) * pq.ms, labels=['event1', 'event2']) segment.eventarrays.append(event_array) try: import_timeline_annotations(epoch, segment, epoch_start) annotations = list(iterable(epoch.getUserTimelineAnnotations(self.ctx.getAuthenticatedUser()))) assert_equals(2, len(annotations)) event_starts = [a.getStart() for a in annotations] for ms in event_ms: found = False for s in event_starts: if epoch_start.plusMillis(ms).equals(s): found = True if not found: assert_true(False, "event start time doesn't match") finally: segment.eventarrays.remove(event_array)