◐ Shell
clean mode source ↗

Ensure only implementers of IEnumerable or IEnumerator are considered Iterable by danabr · Pull Request #1241 · pythonnet/pythonnet

Expand Up @@ -172,6 +172,23 @@ def test_ienumerator_iteration(): for item in chars: assert item in 'test string'
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__.""" Expand Down