Fixed large integer literal warnings
This commit is contained in:
parent
4398b3a4bc
commit
c5ab140f5b
|
|
@ -16,6 +16,17 @@ class IntegerTestGenerator(BaseTestGenerator):
|
||||||
'u64': (0, 18446744073709551615),
|
'u64': (0, 18446744073709551615),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TYPE_VALUES = {
|
||||||
|
'i8': (-128, 127),
|
||||||
|
'i16': (-32768, 32767),
|
||||||
|
'i32': (-2147483648, 2147483647),
|
||||||
|
'i64': ("INT64_MIN", 9223372036854775807),
|
||||||
|
'u8': (0, 255),
|
||||||
|
'u16': (0, 65535),
|
||||||
|
'u32': (0, 4294967295),
|
||||||
|
'u64': (0, "UINT64_MAX"),
|
||||||
|
}
|
||||||
|
|
||||||
def generate_basic_tests(self):
|
def generate_basic_tests(self):
|
||||||
"""Generate basic test cases."""
|
"""Generate basic test cases."""
|
||||||
|
|
||||||
|
|
@ -46,7 +57,7 @@ class IntegerTestGenerator(BaseTestGenerator):
|
||||||
self.make_success_test("Integer Default Decimal Max i64",
|
self.make_success_test("Integer Default Decimal Max i64",
|
||||||
"9223372036854775807", "i64", 9223372036854775807)
|
"9223372036854775807", "i64", 9223372036854775807)
|
||||||
self.make_success_test("Integer Default Decimal Min i64",
|
self.make_success_test("Integer Default Decimal Min i64",
|
||||||
"-9223372036854775808", "i64", -9223372036854775808)
|
"-9223372036854775808", "i64", "INT64_MIN")
|
||||||
|
|
||||||
# Underscores
|
# Underscores
|
||||||
self.make_success_test("Integer Default Decimal with Underscore",
|
self.make_success_test("Integer Default Decimal with Underscore",
|
||||||
|
|
@ -76,11 +87,12 @@ class IntegerTestGenerator(BaseTestGenerator):
|
||||||
|
|
||||||
def generate_typed_tests(self, type_name: str):
|
def generate_typed_tests(self, type_name: str):
|
||||||
"""Generate tests for a specific type across all bases."""
|
"""Generate tests for a specific type across all bases."""
|
||||||
min_val, max_val = self.TYPE_RANGES[type_name]
|
min_range, max_range = self.TYPE_RANGES[type_name]
|
||||||
|
min_value, max_value = self.TYPE_VALUES[type_name]
|
||||||
is_unsigned = type_name.startswith('u')
|
is_unsigned = type_name.startswith('u')
|
||||||
|
|
||||||
# Basic decimal
|
# Basic decimal
|
||||||
test_val = 42 if max_val >= 42 else max_val
|
test_val = 42 if max_range >= 42 else max_range
|
||||||
self.make_success_test(f"Integer {type_name} Decimal Positive",
|
self.make_success_test(f"Integer {type_name} Decimal Positive",
|
||||||
f"{test_val}:{type_name}", type_name, test_val)
|
f"{test_val}:{type_name}", type_name, test_val)
|
||||||
|
|
||||||
|
|
@ -90,41 +102,41 @@ class IntegerTestGenerator(BaseTestGenerator):
|
||||||
|
|
||||||
# Negative (only for signed types)
|
# Negative (only for signed types)
|
||||||
if not is_unsigned:
|
if not is_unsigned:
|
||||||
neg_val = -100 if min_val <= -100 else min_val
|
neg_val = -100 if min_range <= -100 else min_range
|
||||||
self.make_success_test(f"Integer {type_name} Decimal Negative",
|
self.make_success_test(f"Integer {type_name} Decimal Negative",
|
||||||
f"{neg_val}:{type_name}", type_name, neg_val)
|
f"{neg_val}:{type_name}", type_name, neg_val)
|
||||||
|
|
||||||
# Hexadecimal
|
# Hexadecimal
|
||||||
hex_val = min(255, max_val)
|
hex_val = min(255, max_range)
|
||||||
self.make_success_test(f"Integer {type_name} Hex",
|
self.make_success_test(f"Integer {type_name} Hex",
|
||||||
f"0x{hex_val:X}:{type_name}", type_name, hex_val)
|
f"0x{hex_val:X}:{type_name}", type_name, hex_val)
|
||||||
|
|
||||||
# Binary
|
# Binary
|
||||||
bin_val = min(15, max_val)
|
bin_val = min(15, max_range)
|
||||||
self.make_success_test(f"Integer {type_name} Binary",
|
self.make_success_test(f"Integer {type_name} Binary",
|
||||||
f"0b{bin_val:b}:{type_name}", type_name, bin_val)
|
f"0b{bin_val:b}:{type_name}", type_name, bin_val)
|
||||||
|
|
||||||
# Octal
|
# Octal
|
||||||
oct_val = min(63, max_val)
|
oct_val = min(63, max_range)
|
||||||
self.make_success_test(f"Integer {type_name} Octal",
|
self.make_success_test(f"Integer {type_name} Octal",
|
||||||
f"0o{oct_val:o}:{type_name}", type_name, oct_val)
|
f"0o{oct_val:o}:{type_name}", type_name, oct_val)
|
||||||
|
|
||||||
# Max value
|
# Max value
|
||||||
self.make_success_test(f"Integer {type_name} Max Value",
|
self.make_success_test(f"Integer {type_name} Max Value",
|
||||||
f"{max_val}:{type_name}", type_name, max_val)
|
f"{max_range}:{type_name}", type_name, max_value)
|
||||||
|
|
||||||
# Min value
|
# Min value
|
||||||
self.make_success_test(f"Integer {type_name} Min Value",
|
self.make_success_test(f"Integer {type_name} Min Value",
|
||||||
f"{min_val}:{type_name}", type_name, min_val)
|
f"{min_range}:{type_name}", type_name, min_value)
|
||||||
|
|
||||||
# Overflow
|
# Overflow
|
||||||
overflow_val = max_val + 1
|
overflow_val = max_range + 1
|
||||||
self.make_error_test(f"Integer {type_name} Overflow",
|
self.make_error_test(f"Integer {type_name} Overflow",
|
||||||
f"{overflow_val}:{type_name}",
|
f"{overflow_val}:{type_name}",
|
||||||
f"Integer overflow: value exceeds range for {type_name}.")
|
f"Integer overflow: value exceeds range for {type_name}.")
|
||||||
|
|
||||||
# Underflow
|
# Underflow
|
||||||
underflow_val = min_val - 1
|
underflow_val = min_range - 1
|
||||||
self.make_error_test(f"Integer {type_name} Underflow",
|
self.make_error_test(f"Integer {type_name} Underflow",
|
||||||
f"{underflow_val}:{type_name}",
|
f"{underflow_val}:{type_name}",
|
||||||
f"Integer overflow: value exceeds range for {type_name}.")
|
f"Integer overflow: value exceeds range for {type_name}.")
|
||||||
|
|
@ -187,7 +199,7 @@ class IntegerTestGenerator(BaseTestGenerator):
|
||||||
elif type_name == 'u64':
|
elif type_name == 'u64':
|
||||||
self.make_success_test("Integer u64 Hex Max",
|
self.make_success_test("Integer u64 Hex Max",
|
||||||
"0xFFFFFFFFFFFFFFFF:u64",
|
"0xFFFFFFFFFFFFFFFF:u64",
|
||||||
"u64", 18446744073709551615)
|
"u64", "UINT64_MAX")
|
||||||
self.make_success_test("Integer u64 Binary Sample",
|
self.make_success_test("Integer u64 Binary Sample",
|
||||||
"0b1010101010101010:u64", "u64", 43690)
|
"0b1010101010101010:u64", "u64", 43690)
|
||||||
self.make_success_test("Integer u64 Octal Sample", "0o7777:u64", "u64", 4095)
|
self.make_success_test("Integer u64 Octal Sample", "0o7777:u64", "u64", 4095)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue