Skip to content

Commit 6b1fc03

Browse files
committed
add indent function
1 parent 38e4fed commit 6b1fc03

2 files changed

Lines changed: 51 additions & 0 deletions

File tree

src/java_model.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,21 @@ class Field:
3636
name: str
3737
type: str
3838
description: Optional[str] = None
39+
40+
41+
@dataclass
42+
class JavaClass:
43+
name: str
44+
fields: List[Field]
45+
description: Optional[str] = None
46+
47+
48+
def indent(level: int, size: int = 4) -> str:
49+
if level < 0 or size < 0:
50+
raise ValueError("Indent size cannot be lower than 0")
51+
52+
return " " * size * level
53+
54+
55+
56+

tests/test_java_model.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import pytest
2+
3+
from src.java_model import indent
4+
5+
6+
def test_indent_zero():
7+
assert indent(0) == ""
8+
9+
10+
def test_indent_default_size():
11+
assert indent(1) == " " * 4
12+
13+
14+
def test_indent_multiple_levels():
15+
assert indent(3) == " " * 12
16+
17+
18+
def test_indent_custom_size():
19+
assert indent(2, size=2) == " " * 4
20+
21+
22+
def test_indent_size_zero():
23+
assert indent(5, size=0) == ""
24+
25+
26+
def test_indent_negative_lvl():
27+
with pytest.raises(ValueError):
28+
indent(level=-1, size=4)
29+
30+
31+
def test_indent_negative_size():
32+
with pytest.raises(ValueError):
33+
indent(level=1, size=-1)

0 commit comments

Comments
 (0)