示例#1
0
 def should_return_false_for_floats():
     assert is_iterable(1.0) is False
     assert is_iterable(-1.0) is False
     assert is_iterable(0.0) is False
     assert is_iterable(float("NaN")) is False
     assert is_iterable(float("Inf")) is False
     assert is_iterable(float("-Inf")) is False
示例#2
0
 def should_return_false_for_decimals():
     assert is_iterable(Decimal("1.0")) is False
     assert is_iterable(Decimal("-1.0")) is False
     assert is_iterable(Decimal("0.0")) is False
     assert is_iterable(Decimal("NaN")) is False
     assert is_iterable(Decimal("Inf")) is False
     assert is_iterable(Decimal("-Inf")) is False
示例#3
0
 def should_return_false_for_booleans():
     assert is_iterable(True) is False
     assert is_iterable(False) is False
示例#4
0
 def should_return_true_for_frozen_lists():
     assert is_iterable(FrozenList()) is True
     assert is_iterable(FrozenList([0, 1, 2])) is True
     assert is_iterable(FrozenList(["A", "B", "C"])) is True
示例#5
0
 def should_return_false_for_ints():
     assert is_iterable(1) is False
     assert is_iterable(-1) is False
     assert is_iterable(0) is False
示例#6
0
 def should_return_false_for_frozen_dicts():
     assert is_iterable(FrozenDict()) is False
     assert is_iterable(FrozenDict({"__iter__": True})) is False
     assert is_iterable(FrozenDict({0: "A", 1: "B", 2: "C"})) is False
示例#7
0
 def should_return_false_for_simple_objects():
     assert is_iterable(object) is False
     assert is_iterable(object()) is False
示例#8
0
 def should_return_false_for_range_function():
     assert is_iterable(range) is False
示例#9
0
 def should_return_false_for_generator_function():
     assert is_iterable(count) is False
示例#10
0
 def should_return_true_for_values_view():
     assert is_iterable({}.values()) is True
     assert is_iterable({0: "A", 1: "B", 2: "C"}.values()) is True
示例#11
0
 def should_return_true_for_ranges():
     assert is_iterable(range(10)) is True
示例#12
0
 def should_return_true_for_arrays():
     assert is_iterable(array("b")) is True
     assert is_iterable(array("b", [0, 1, 2])) is True
     assert is_iterable(array("i")) is True
     assert is_iterable(array("i", [0, 1, 2])) is True
示例#13
0
 def should_return_true_for_named_tuples():
     named = namedtuple("named", "a b c")
     assert is_iterable(named(0, 1, 2)) is True
示例#14
0
 def should_return_true_for_tuples():
     assert is_iterable(()) is True
     assert is_iterable((0, 1, 1)) is True
     assert is_iterable(("A", "B", "C")) is True
示例#15
0
 def should_return_true_for_sets():
     assert is_iterable(set()) is True
     assert is_iterable({0, 1, 2}) is True
     assert is_iterable({"A", "B", "C"}) is True
示例#16
0
 def should_return_true_for_infinite_generators():
     assert is_iterable(count()) is True
示例#17
0
 def should_return_false_for_dicts():
     assert is_iterable({}) is False
     assert is_iterable({"__iter__": True}) is False
     assert is_iterable({0: "A", 1: "B", 2: "C"}) is False
示例#18
0
 def should_return_false_for_none_object():
     assert is_iterable(None) is False
示例#19
0
 def should_return_false_for_default_dicts():
     assert is_iterable(defaultdict(list)) is False
示例#20
0
 def should_return_false_for_byte_strings():
     assert is_iterable(b"ABC") is False
     assert is_iterable(b"0") is False
     assert is_iterable(b"") is False
示例#21
0
    def should_return_false_for_invalid_iterator_object():
        class NoIterator:
            __iter__ = None

        assert is_iterable(NoIterator) is False
        assert is_iterable(NoIterator()) is False
示例#22
0
 def should_return_true_for_lists():
     assert is_iterable([]) is True
     assert is_iterable([0, 1, 2]) is True
     assert is_iterable(["A", "B", "C"]) is True