Skip to content

Commit aab16bf

Browse files
committed
add general render_javadoc function
1 parent 6b1fc03 commit aab16bf

2 files changed

Lines changed: 40 additions & 4 deletions

File tree

src/header_generator.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import re
2-
from typing import List
2+
from typing import List, Union
33

4-
from java_model import Field
4+
from src.java_model import Field, indent
55

66

77
def set_package(package: str) -> str:
@@ -20,6 +20,18 @@ def set_imports(fields: List[Field]) -> str:
2020
return "\n".join(imports)
2121

2222

23+
def render_javadoc(description: Union[str, None], indent_lvl: int) -> str:
24+
if description is None or description == "":
25+
return ""
26+
27+
return "\n".join([
28+
"",
29+
f"{indent(indent_lvl)}/**",
30+
f"{indent(indent_lvl)} * {description}",
31+
f"{indent(indent_lvl)} */"
32+
])
33+
34+
2335
_imports = {
2436
"Date": "import java.util.Date;",
2537
"List": "import java.util.List;",

tests/test_header_generator.py

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22

3-
from java_model import Field
4-
from src.header_generator import set_package, set_imports
3+
from src.java_model import Field
4+
from src.header_generator import set_package, set_imports, render_javadoc
55

66

77
def test_set_package():
@@ -55,3 +55,27 @@ def test_set_imports_no_additional_imports():
5555
expected = """\
5656
import java.util.Objects;"""
5757
assert set_imports(fields) == expected
58+
59+
60+
def test_render_javadoc_class_indent():
61+
description = "Example class description"
62+
expected = """
63+
/**
64+
* Example class description
65+
*/"""
66+
assert render_javadoc(description, 0) == expected
67+
68+
69+
def test_render_javadoc_field_indent():
70+
description = "Example field description"
71+
expected = """
72+
/**
73+
* Example field description
74+
*/"""
75+
assert render_javadoc(description, 1) == expected
76+
77+
78+
def test_render_javadoc_no_description():
79+
assert render_javadoc("", 0) == ""
80+
assert render_javadoc(None, 0) == ""
81+
assert render_javadoc(None, 1) == ""

0 commit comments

Comments
 (0)