Ensure only implementers of IEnumerable or IEnumerator are considered Iterable by danabr · Pull Request #1241 · pythonnet/pythonnet
def test_iterable(): """Test what objects are Iterable""" from collections.abc import Iterable from Python.Test import ClassTest
assert isinstance(System.String.Empty, Iterable) assert isinstance(ClassTest.GetArrayList(), Iterable) assert isinstance(ClassTest.GetEnumerator(), Iterable) assert (not isinstance(ClassTest, Iterable)) assert (not isinstance(ClassTest(), Iterable))
class ShouldBeIterable(ClassTest): def __iter__(self): return iter([])
assert isinstance(ShouldBeIterable(), Iterable)
def test_override_get_item(): """Test managed subclass overriding __getitem__."""