Add startswith() and endswith() methods to Path

This commit is contained in:
Gergely Polonkai 2022-05-06 17:20:59 +02:00
parent 1299acd463
commit b9d0221e95
No known key found for this signature in database
GPG Key ID: 2D2885533B869ED4
2 changed files with 28 additions and 0 deletions

View File

@ -75,3 +75,13 @@ class Path:
def __repr__(self) -> str:
return f'<Path {self.path}>'
def startswith(self, sub: str) -> bool:
"""Check if path starts with sub"""
return self.path.startswith(sub)
def endswith(self, sub: str) -> bool:
"""Check if path ends with sub"""
return self.path.endswith(sub)

View File

@ -106,3 +106,21 @@ def test_repr() -> None:
"""Test the __repr__ method"""
assert repr(Path('/test.txt')) == '<Path /test.txt>'
def test_startswith() -> None:
"""Test the startswith method"""
path = Path('/test.txt')
assert path.startswith('/test')
assert not path.startswith('test')
def test_endswith() -> None:
"""Test the endswith method"""
path = Path('/test.txt')
assert path.endswith('.txt')
assert not path.endswith('.py')