
pymox - issue #59
MockObject.__eq__ behaviour causes problems when the mocks are used in lists.
MockObject and MockAnything are just equal to any other mock that happens to have the same "replay_mode" and "expected_calls_queue". That creates problem when the mocks are used in sequences / collections / lists. For example, list.count() will probably give the wrong result as it will count all mock instances.
Here is an example
import mox
mocker = mox.Mox() mock1 = mocker.CreateMockAnything(description="mock1 is unique") mock2 = mocker.CreateMockAnything(description="mock2 is also unique") print [mock1, mock2].count(mock1) #=> 2 but should be 1
Wouldn't be better if eq compared at least the attrs of the mocks? If they have a different set of mocked attributes they can't be "equal", right?
Status: New
Labels:
Type-Defect
Priority-Medium