Skip to content

Commit e702c7d

Browse files
committed
add package line
1 parent ee5dbd7 commit e702c7d

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

src/header_generator.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import re
2+
3+
4+
def set_package(package: str) -> str:
5+
PACKAGE_REGEX = r"^(?:[a-z_][a-z0-9_]*)(?:\.(?:[a-z_][a-z0-9_]*))*$"
6+
if not re.match(PACKAGE_REGEX, package):
7+
raise ValueError(f"Invalid package: '{package}'")
8+
return f"package {package}"

tests/test_header_generator.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import pytest
2+
3+
from src.header_generator import set_package
4+
5+
6+
def test_set_package():
7+
example = "org.example.hyphenated_name"
8+
expected = f"package {example}"
9+
assert set_package(example) == expected
10+
11+
example_2 = "com.example._123name"
12+
expected_2 = f"package {example_2}"
13+
assert set_package(example_2) == expected_2
14+
15+
16+
def test_set_package_illegal_name():
17+
example = "org.example.hyphenated-name"
18+
with pytest.raises(ValueError):
19+
set_package(example)
20+
21+
example_2 = "com.example.123name"
22+
with pytest.raises(ValueError):
23+
set_package(example_2)

0 commit comments

Comments
 (0)