def test_partial_update_should_handle_mixed_numeric_map_updates(self):
        """Test updating maps with mix of additions and removals
        
        This test verifies that partial updates can correctly handle numeric maps
        with a mixture of operations:
        1. Updating existing key-value pairs
        2. Adding new key-value pairs
        
        The test performs updates on both integer maps and float maps, then
        verifies that all changes were applied correctly by retrieving the
        document and checking each individual key-value pair.
        """
        test_docs = [self.doc, self.doc2, self.doc3]

        for doc in test_docs:
            with self.subTest(f"Updating mixed numeric maps for document with ID {doc['_id']}"):
                id = doc['_id']
                res = self.config.document.partial_update_documents([{
                    '_id': id,
                    'int_map': {
                        'a': 10,  # Update existing
                        'c': 3,  # Add new
                        'b': 20  # Update existing
                    },
                    'float_map': {
                        'c': 10.5,  # Update existing
                        'e': 5.5  # Add new
                    }
                }], self.index)
                self.assertFalse(res.errors, f"Expected no errors when updating document {id}")

                doc = tensor_search.get_document_by_id(self.config, self.index.name, id)
                self.assertEqual(10, doc['int_map.a'])
                self.assertEqual(20, doc['int_map.b'])
                self.assertEqual(3, doc['int_map.c'])
                self.assertEqual(10.5, doc['float_map.c'])
                self.assertEqual(5.5, doc['float_map.e'])
                self.assertEqual(None, doc.get('float_map.d', None))
                self._assert_fields_unchanged(doc, ['int_map.a', 'int_map.b', 'int_map.c', 'float_map.c', 'float_map.e',
                                                    'float_map.d'])

                # Verify field types
                self._assert_field_types(
                    id,
                    [
                        ('int_map.a', MarqoFieldTypes.INT_MAP),
                        ('int_map', MarqoFieldTypes.INT_MAP),
                        ('int_map.b', MarqoFieldTypes.INT_MAP),
                        ('int_map.c', MarqoFieldTypes.INT_MAP),
                        ('float_map.c', MarqoFieldTypes.FLOAT_MAP),
                        ('float_map.e', MarqoFieldTypes.FLOAT_MAP),
                        ('float_map.d', None),
                        ('float_map', MarqoFieldTypes.FLOAT_MAP)
                    ]
                )
Test updating maps with mix of additions and removals
        
        This test verifies that partial updates can correctly handle numeric maps
        with a mixture of operations:
        1. Updating existing key-value pairs
        2. Adding new key-value pairs
        
        The test performs updates on both integer maps and float maps, then
        verifies that all changes were applied correctly by retrieving the
        document and checking each individual key-value pair.
        
tests/integ_tests/core/document/test_partial_update_semi_structured.py