def test_get_index_stats_sequentialIndexingAndDeletion_successful(self):
        """
        get_index_stats returns the correct stats for an index during a sequence of indexing and deletion
        """
        operations = [
            (
                'add',  # add 3 docs, 3 have a vector
                [{"_id": "1", "title": "2"}, {"_id": "2", "title": "2"}, {"_id": "3", "title": "62"}],
                MarqoIndexStats(number_of_documents=3, number_of_vectors=3, backend=VespaStats())
            ),
            (
                'add',  # add 3 docs, 1 has a vector
                [{"_id": "4", "desc": "2"}, {"_id": "5", "title": "2"}, {"_id": "6", "desc": "62"}],
                MarqoIndexStats(number_of_documents=6, number_of_vectors=4, backend=VespaStats())
            ),
            (
                'delete',  # delete 2 docs, 1 has a vector
                ["1", "4"],
                MarqoIndexStats(number_of_documents=4, number_of_vectors=3, backend=VespaStats())
            ),
            (
                'add',  # add 3 docs, 1 has a vector
                [{"_id": "7", "desc": "2"}, {"_id": "8", "title": "2"}, {"_id": "9", "desc": "62"}],
                MarqoIndexStats(number_of_documents=7, number_of_vectors=4, backend=VespaStats())
            ),
            (
                'delete',  # delete all docs
                [f"{i}" for i in range(1, 10)],
                MarqoIndexStats(number_of_documents=0, number_of_vectors=0, backend=VespaStats())
            )
        ]

        for marqo_index in self.indexes_to_test:
            with self.subTest(f'{marqo_index.name} - {marqo_index.type.value}'):
                for operation, docs, expected_stats in operations:
                    if operation == 'add':
                        self.add_documents(
                            config=self.config, add_docs_params=AddDocsParams(
                                docs=docs,
                                index_name=marqo_index.name,
                                device="cpu",
                                tensor_fields=['title'] if isinstance(marqo_index, UnstructuredMarqoIndex) else None
                            )
                        )
                    elif operation == 'delete':
                        tensor_search.delete_documents(
                            config=self.config,
                            index_name=marqo_index.name,
                            doc_ids=docs
                        )
                    self.assertIndexStatsEqual(
                        expected_stats,
                        self.monitoring.get_index_stats(marqo_index)
                    )

        get_index_stats returns the correct stats for an index during a sequence of indexing and deletion
        
tests/integ_tests/core/monitoring/test_monitoring.py