def test_fetch_by_metadata2(self, meta, coltype, interleave):
        tid = self.create_table_for_fetch(True, [1], coltype, interleave)
        store = FeatureTable(self.sess, self.name, self.ft_space, self.ann_space)
        store.open_table(tid)

        fr = store.fetch_by_metadata(meta)

        assert len(fr) == 1
        fr = fr[0]
        assert fr.infonames == ("ImageID", "RoiID", "Name")
        assert fr.infovalues == (12, 56, "cc")
        assert fr.names == ("x1",)
        assert fr.values == (20,)

        store.close()
    def test_fetch_by_metadata2(self, meta, coltype, interleave):
        tid = self.create_table_for_fetch(True, [1], coltype, interleave)
        store = FeatureTable(
            self.sess, self.name, self.ft_space, self.ann_space)
        store.open_table(tid)

        fr = store.fetch_by_metadata(meta)

        assert len(fr) == 1
        fr = fr[0]
        assert fr.infonames == ('ImageID', 'RoiID', 'Name')
        assert fr.infovalues == (12, 56, 'cc')
        assert fr.names == ('x1',)
        assert fr.values == (20,)

        store.close()
    def test_fetch_by_metadata3(self, coltype, interleave):
        tid = self.create_table_for_fetch(True, [2, 3], coltype, interleave)
        store = FeatureTable(self.sess, self.name, self.ft_space, self.ann_space)
        store.open_table(tid)

        meta = {"ImageID": 12}
        fr = store.fetch_by_metadata(meta)

        assert len(fr) == 2
        fr0, fr1 = fr
        assert fr0.infonames == ("ImageID", "RoiID", "Name")
        assert fr1.infonames == ("ImageID", "RoiID", "Name")
        assert fr0.infovalues == (12, -1, "aa")
        assert fr1.infovalues == (12, 56, "cc")
        assert fr0.names == ("x1", "x2", "x3", "x4", "x5")
        assert fr1.names == ("x1", "x2", "x3", "x4", "x5")
        assert fr0.values == (11, 12, 13, 14, 15)
        assert fr1.values == (31, 32, 33, 34, 35)

        store.close()
    def test_fetch_by_metadata3(self, coltype, interleave):
        tid = self.create_table_for_fetch(True, [2, 3], coltype,  interleave)
        store = FeatureTable(
            self.sess, self.name, self.ft_space, self.ann_space)
        store.open_table(tid)

        meta = {'ImageID': 12}
        fr = store.fetch_by_metadata(meta)

        assert len(fr) == 2
        fr0, fr1 = fr
        assert fr0.infonames == ('ImageID', 'RoiID', 'Name')
        assert fr1.infonames == ('ImageID', 'RoiID', 'Name')
        assert fr0.infovalues == (12, -1, 'aa')
        assert fr1.infovalues == (12, 56, 'cc')
        assert fr0.names == ('x1', 'x2', 'x3', 'x4', 'x5')
        assert fr1.names == ('x1', 'x2', 'x3', 'x4', 'x5')
        assert fr0.values == (11, 12, 13, 14, 15)
        assert fr1.values == (31, 32, 33, 34, 35)

        store.close()