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?
Original issue reported on code.google.com by ruben.la...@gmail.com on 12 Oct 2014 at 6:09
Original issue reported on code.google.com by
ruben.la...@gmail.com
on 12 Oct 2014 at 6:09