def test_remove_oldest(self):
        c = OmeroTablesFeatureStore.LRUCache(2)

        c.insert('key1', 1)
        c.insert('key2', 2)
        assert c.remove_oldest() == 1
        assert c.cache.keys() == ['key2']

        c.insert('key3', 3)
        c.get('key2')
        assert c.remove_oldest() == 3
        assert c.cache.keys() == ['key2']

        c.insert('key3', 3)
        c.get('key2')
        c.insert('key4', 3)
        assert sorted(c.cache.keys()) == ['key2', 'key4']
    def test_get_insert(self):
        c = OmeroTablesFeatureStore.LRUCache(2)
        assert len(c) == 0

        assert c.get('key1') is None
        assert c.get('key1', -1) == -1

        c.insert('key1', 1)
        assert c.get('key1') == 1
        assert len(c) == 1

        c.insert('key1', 'a')
        assert c.get('key1') == 'a'
        assert len(c) == 1

        c.insert('key2', 2)
        assert c.get('key1') == 'a'
        assert c.get('key2') == 2
        assert len(c) == 2