예제 #1
0
 def store(self, request):
     if 'select' in request.function.__name__:
         # MemoryStore does not implement select, use CSVStore instead
         # use tmpdir fixture as a context manager
         with contextmanager(tempdir)() as directory:
             yield StoreView(CSVStore(directory), self.prefix)
     else:
         yield StoreView(MemoryStore(), self.prefix)
예제 #2
0
 def test_append(self, frame):
     pidx = Parameter('idx')
     coords = ParameterList((pidx, ))
     store = MeasurementStore(MemoryStore(), '/data', coords)
     for idx in range(5):
         pidx.set(idx)
         store.append(frame)
     for idx in range(5):
         pidx.set(idx)
         pframe = store.get().loc[(idx, slice(None), slice(None)), :]
         self.check_coords(frame, pframe, coords)
예제 #3
0
 def nested_store(self, request):
     prefixes = request.param[0].split('/')
     namess = request.param[1:]
     self.coords = ParameterList()
     store = MemoryStore()
     for prefix, names in zip(prefixes, namess):
         coords = ParameterList(
             Parameter(name, value=name) for name in names)
         store = MeasurementStore(store, prefix=prefix, coordinates=coords)
         self.coords.extend(coords)
     return store
예제 #4
0
    def test_on_new_item(self, frame):
        self.new_item_count = 0

        def on_new_item(store, key):
            self.new_item_count += 1

        MeasurementStore.on_new_item.append(on_new_item)
        store = MeasurementStore(MemoryStore(), '/data', ParameterList())
        store.append(frame)
        assert self.new_item_count == 1, 'on_new_item did not fire'
        store.append(frame)
        assert self.new_item_count == 1, 'on_new_item fired more than once'
예제 #5
0
 def test_prepend_coordinates(self, frame, names):
     coords = ParameterList([Parameter(name, value=name) for name in names])
     store = MeasurementStore(MemoryStore(), '/data', coords)
     self.check_coords(frame, store._prepend_coordinates(frame), coords)
예제 #6
0
 def test_title_arg(self):
     # title arg should be supported by all stores
     title = 'My title.'
     MemoryStore(title=title)
예제 #7
0
 def store(self):
     return MemoryStore()