File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import 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
77def 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;" ,
Original file line number Diff line number Diff line change 11import 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
77def 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 ) == ""
You can’t perform that action at this time.
0 commit comments