def test_classes(self, _isclass): func_globals = Mock() func_globals.values.return_value = [1, 2, 3] _isclass.side_effect = [True, False, True] collator = Collator() classes = collator._Collator__classes(func_globals) _isclass.assert_has_calls([call(c) for c in func_globals.values()]) self.assertEqual(classes, [1, 3])