This commit is contained in:
Shibayan003 2025-07-28 17:48:23 -07:00 committed by GitHub
commit f52e15cde2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -13,3 +13,24 @@ def test_remove_handler() -> None:
manager = BaseCallbackManager([handler1], inheritable_handlers=[handler2])
manager.remove_handler(handler1)
manager.remove_handler(handler2)
def test_merge_preserves_handler_distinction() -> None:
"""Test that merging managers preserves the distinction between handlers.
This test verifies the correct behavior of the BaseCallbackManager.merge()
method. When two managers are merged, their handlers and
inheritable_handlers should be combined independently.
"""
h1 = BaseCallbackHandler()
h2 = BaseCallbackHandler()
ih1 = BaseCallbackHandler()
ih2 = BaseCallbackHandler()
m1 = BaseCallbackManager(handlers=[h1], inheritable_handlers=[ih1])
m2 = BaseCallbackManager(handlers=[h2], inheritable_handlers=[ih2])
merged = m1.merge(m2)
assert set(merged.handlers) == {h1, h2}
assert set(merged.inheritable_handlers) == {ih1, ih2}