Add tests for string helpers too, update timestamp strings tests
Fix string helpers calls for some edge cases
This commit is contained in:
65
test-run/string_handling/string_helpers.py
Normal file
65
test-run/string_handling/string_helpers.py
Normal file
@@ -0,0 +1,65 @@
|
||||
"""
|
||||
Test string_handling/string_helpers
|
||||
"""
|
||||
|
||||
import sys
|
||||
from decimal import Decimal, getcontext
|
||||
from textwrap import shorten
|
||||
from corelibs.string_handling.string_helpers import shorten_string, format_number
|
||||
|
||||
|
||||
def __sh_shorten_string():
|
||||
string = "hello"
|
||||
length = 3
|
||||
placeholder = " [very long placeholder]"
|
||||
try:
|
||||
result = shorten_string(string, length, placeholder=placeholder)
|
||||
print(f"IN: {string} -> {result}")
|
||||
except ValueError as e:
|
||||
print(f"Failed: {e}")
|
||||
try:
|
||||
result = shorten(string, width=length, placeholder=placeholder)
|
||||
print(f"IN: {string} -> {result}")
|
||||
except ValueError as e:
|
||||
print(f"Failed: {e}")
|
||||
|
||||
|
||||
def __sh_format_number():
|
||||
print(f"Max int: {sys.maxsize}")
|
||||
print(f"Max float: {sys.float_info.max}")
|
||||
number = 1234.56
|
||||
precision = 0
|
||||
result = format_number(number, precision)
|
||||
print(f"Format {number} ({precision}) -> {result}")
|
||||
number = 1234.56
|
||||
precision = 100
|
||||
result = format_number(number, precision)
|
||||
print(f"Format {number} ({precision}) -> {result}")
|
||||
number = 123400000000000001.56
|
||||
if number >= sys.maxsize:
|
||||
print("INT Number too big")
|
||||
if number >= sys.float_info.max:
|
||||
print("FLOAT Number too big")
|
||||
precision = 5
|
||||
result = format_number(number, precision)
|
||||
print(f"Format {number} ({precision}) -> {result}")
|
||||
|
||||
precision = 100
|
||||
getcontext().prec = precision
|
||||
number = Decimal(str(1234.56))
|
||||
result = f"{number:,.100f}"
|
||||
print(f"Format {number} ({precision}) -> {result}")
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Test: corelibs.string_handling.string_helpers
|
||||
"""
|
||||
__sh_shorten_string()
|
||||
__sh_format_number()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
# __END__
|
||||
Reference in New Issue
Block a user