string slice
This commit is contained in:
parent
81034af97a
commit
da182e0ebf
2 changed files with 20 additions and 0 deletions
|
|
@ -16,6 +16,15 @@ class StringFunctions:
|
||||||
"""
|
"""
|
||||||
return String(value=str(value.value))
|
return String(value=str(value.value))
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def slice(string: String, start: Integer, end: Optional[Integer] = None) -> String:
|
||||||
|
"""
|
||||||
|
Returns the slice of the Array.
|
||||||
|
"""
|
||||||
|
if end is not None:
|
||||||
|
return String(string.value[start.value : end.value])
|
||||||
|
return String(string.value[start.value :])
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def lower(string: String) -> String:
|
def lower(string: String) -> String:
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -98,3 +98,14 @@ class TestNumericFunctions:
|
||||||
def test_pad_zero(self, values: str, expected_output: str):
|
def test_pad_zero(self, values: str, expected_output: str):
|
||||||
output = single_variable_output(f"{{%pad_zero({values})}}")
|
output = single_variable_output(f"{{%pad_zero({values})}}")
|
||||||
assert output == expected_output
|
assert output == expected_output
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"values, expected_output",
|
||||||
|
[
|
||||||
|
("'2012', 2", "12"),
|
||||||
|
("'2012', 1, 3", "01"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_slice(self, values, expected_output):
|
||||||
|
output = single_variable_output(f"{{%slice({values})}}")
|
||||||
|
assert output == expected_output
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue