diff --git a/src/Products/PluginIndexes/BooleanIndex/tests.py b/src/Products/PluginIndexes/BooleanIndex/tests.py index ff173503..1ba25eaa 100644 --- a/src/Products/PluginIndexes/BooleanIndex/tests.py +++ b/src/Products/PluginIndexes/BooleanIndex/tests.py @@ -235,3 +235,22 @@ def test_reindexation_when_index_reversed(self): res = index._apply_index({'truth': True})[0] self.assertEqual(list(index._index), [2]) self.assertEqual(list(res), [1, 3, 4]) + + def test_getCounter(self): + index = self._makeOne() + + self.assertEqual(index.getCounter(), 0) + + obj = Dummy(1, True) + index.index_object(obj.id, obj) + self.assertEqual(index.getCounter(), 1) + + index.unindex_object(obj.id) + self.assertEqual(index.getCounter(), 2) + + # unknown id + index.unindex_object(1234) + self.assertEqual(index.getCounter(), 2) + + index.clear() + self.assertEqual(index.getCounter(), 0) diff --git a/src/Products/PluginIndexes/DateIndex/tests.py b/src/Products/PluginIndexes/DateIndex/tests.py index 19e98007..260dfe62 100644 --- a/src/Products/PluginIndexes/DateIndex/tests.py +++ b/src/Products/PluginIndexes/DateIndex/tests.py @@ -285,3 +285,22 @@ def test_removal(self): {'date': 1072742900}, [values[7]]) index.index_object(7, None) self.assertFalse(7 in index.documentToKeyMap().keys()) + + def test_getCounter(self): + from DateTime import DateTime + + index = self._makeOne() + self.assertEqual(index.getCounter(), 0) + + index.index_object(1, Dummy('b', DateTime(0))) + self.assertEqual(index.getCounter(), 1) + + index.unindex_object(1) + self.assertEqual(index.getCounter(), 2) + + # unknown id + index.unindex_object(1234) + self.assertEqual(index.getCounter(), 2) + + index.clear() + self.assertEqual(index.getCounter(), 0) diff --git a/src/Products/PluginIndexes/DateRangeIndex/tests.py b/src/Products/PluginIndexes/DateRangeIndex/tests.py index 7afae6ec..0d8fcfd7 100644 --- a/src/Products/PluginIndexes/DateRangeIndex/tests.py +++ b/src/Products/PluginIndexes/DateRangeIndex/tests.py @@ -246,3 +246,22 @@ def test_resultset(self): results, used = index._apply_index({'work': 11}, resultset=IISet([0, 5, 7])) self.assertEqual(set(results), set([0, 5])) + + def test_getCounter(self): + + index = self._makeOne('work', 'start', 'stop') + self.assertEqual(index.getCounter(), 0) + + obj = dummies[0] + index.index_object(1, obj) + self.assertEqual(index.getCounter(), 1) + + index.unindex_object(1) + self.assertEqual(index.getCounter(), 2) + + # unknown id + index.unindex_object(1234) + self.assertEqual(index.getCounter(), 2) + + index.clear() + self.assertEqual(index.getCounter(), 0) diff --git a/src/Products/PluginIndexes/KeywordIndex/tests.py b/src/Products/PluginIndexes/KeywordIndex/tests.py index 796f4527..a69d6232 100644 --- a/src/Products/PluginIndexes/KeywordIndex/tests.py +++ b/src/Products/PluginIndexes/KeywordIndex/tests.py @@ -253,3 +253,23 @@ def test_value_removes(self): to_index = Dummy('') self._index._index_object(10, to_index, attr='foo') self.assertFalse(self._index._unindex.get(10)) + + def test_getCounter(self): + index = self._index + + index.clear() + self.assertEqual(index.getCounter(), 0) + + obj = Dummy(['hello']) + index.index_object(10, obj) + self.assertEqual(index.getCounter(), 1) + + index.unindex_object(10) + self.assertEqual(index.getCounter(), 2) + + # unknown id + index.unindex_object(1234) + self.assertEqual(index.getCounter(), 2) + + index.clear() + self.assertEqual(index.getCounter(), 0) diff --git a/src/Products/PluginIndexes/UUIDIndex/tests.py b/src/Products/PluginIndexes/UUIDIndex/tests.py index debf9f0b..4b09908e 100644 --- a/src/Products/PluginIndexes/UUIDIndex/tests.py +++ b/src/Products/PluginIndexes/UUIDIndex/tests.py @@ -143,3 +143,23 @@ def test_non_unique(self): # second index call fails and logs self._index.index_object(1, obj) self._checkApply({'foo': 'a'}, [(0, obj)]) + + def test_getCounter(self): + index = self._index + + index.clear() + self.assertEqual(index.getCounter(), 0) + + obj = Dummy('a') + index.index_object(10, obj) + self.assertEqual(index.getCounter(), 1) + + index.unindex_object(10) + self.assertEqual(index.getCounter(), 2) + + # unknown id + index.unindex_object(1234) + self.assertEqual(index.getCounter(), 2) + + index.clear() + self.assertEqual(index.getCounter(), 0) diff --git a/src/Products/PluginIndexes/common/tests/test_UnIndex.py b/src/Products/PluginIndexes/common/tests/test_UnIndex.py index 0ed96e8e..d160dfef 100644 --- a/src/Products/PluginIndexes/common/tests/test_UnIndex.py +++ b/src/Products/PluginIndexes/common/tests/test_UnIndex.py @@ -78,20 +78,25 @@ def interesting(self): dummy.exc = TypeError self.assertEquals(idx._get_object_datum(dummy, 'interesting'), _marker) - def test_getCounter(self): - idx = self._makeOne('counter') + def test_getCounter(self): + index = self._makeOne('counter') - self.assertEqual(idx.getCounter(), 0) + self.assertEqual(index.getCounter(), 0) - class DummyContent(object): - counter = 'first' - dummy = DummyContent() + class Dummy(object): + id = 1 + counter = 'counter' - idx.index_object(dummy) - self.assertEqual(idx.getCounter(), 1) + obj = Dummy() + index.index_object(obj.id, obj) + self.assertEqual(index.getCounter(), 1) - idx.unindex_object(dummy) - self.assertEqual(idx.getCounter(), 2) + index.unindex_object(obj.id) + self.assertEqual(index.getCounter(), 2) - idx.clear() - self.assertEqual(idx.getCounter(), 0) + # unknown id + index.unindex_object(1234) + self.assertEqual(index.getCounter(), 2) + + index.clear() + self.assertEqual(index.getCounter(), 0)