コード例 #1
0
def test_is_in_range():
    # value, min, max and whether the value should match withing the range
    test_data = [
        ("0", None, None, True),
        ("0", "0", None, True),
        ("0", None, "10.32", True),
        ("0", "0", "10.32", True),
        ("32.00", None, None, True),
        ("32.00", "0", None, True),
        ("32.00", None,  "64", True),
        ("32.00", "0", "31.9999", False),
        ("32.00", "0", "32", True),
        ("32.00", "0", "64", True),
        ("32.00", "31.999", None, True),
        ("32.00", "31.999", "32.000", True),
        ("32.00", "31.999", "32.0001", True),
        ("32.00", "32.00", "32.00", True),
        ("32.00", "32.00", "66", False),
        ("32.00", "32.00", None, False),
        ("43.00", "32.00", "100.00", True),
        ("11.00", "32.00", "100.00", False),
        ("121.00", "32.00", "100.00", False),
    ]

    for value, min, max, result in test_data:
        assert _is_in_range(
            decimal.Decimal(value),
            decimal.Decimal(min) if min else None,
            decimal.Decimal(max) if max else None) == result
        # Any range with None value should be False
        assert not _is_in_range(
            None,
            decimal.Decimal(min) if min else None,
            decimal.Decimal(max) if max else None)
        # In case when both limits is given range shouldn't work in reverse order.
        if min and max and min != max:
            assert not _is_in_range(
                decimal.Decimal(value),
                decimal.Decimal(max) if max else None,
                decimal.Decimal(min) if min else None)
コード例 #2
0
def test_is_in_range():
    # value, min, max and whether the value should match withing the range
    test_data = [
        ("0", None, None, True),
        ("0", "0", None, True),
        ("0", None, "10.32", True),
        ("0", "0", "10.32", True),
        ("32.00", None, None, True),
        ("32.00", "0", None, True),
        ("32.00", None,  "64", True),
        ("32.00", "0", "31.9999", False),
        ("32.00", "0", "32", True),
        ("32.00", "0", "64", True),
        ("32.00", "31.999", None, True),
        ("32.00", "31.999", "32.000", True),
        ("32.00", "31.999", "32.0001", True),
        ("32.00", "32.00", "32.00", True),
        ("32.00", "32.00", "66", False),
        ("32.00", "32.00", None, False),
        ("43.00", "32.00", "100.00", True),
        ("11.00", "32.00", "100.00", False),
        ("121.00", "32.00", "100.00", False),
    ]

    for value, min, max, result in test_data:
        assert _is_in_range(
            decimal.Decimal(value),
            decimal.Decimal(min) if min else None,
            decimal.Decimal(max) if max else None) == result
        # Any range with None value should be False
        assert not _is_in_range(
            None,
            decimal.Decimal(min) if min else None,
            decimal.Decimal(max) if max else None)
        # In case when both limits is given range shouldn't work in reverse order.
        if min and max and min != max:
            assert not _is_in_range(
                decimal.Decimal(value),
                decimal.Decimal(max) if max else None,
                decimal.Decimal(min) if min else None)