Calling ``++unittest++`` methods ``++assertEqual++``, ``++assertNotEqual++``, ``++assertIs++`` or ``++assertIsNot++`` on objects of incompatible types will always fail or always succeed.
they are instances of unrelated classes which do not implement ``++\_\_eq\_\_++`` or ``++\_\_ne\_\_++`` (if a class implements one of these methods it could compare to any other type it wants).
As for methods ``++assertIs++`` and ``++assertIsNot++``, if arguments' types are different it is not possible for them to point to the same object, thus ``++assertIs++`` will always fail and ``++assertIsNot++`` will always succeed.