11import pytest
22
3- from src .method_generator import generate_getter , Field
3+ from src .method_generator import generate_getter , Field , generate_setter
44
55JAVA_KEYWORDS = {
66 "abstract" , "assert" , "boolean" , "break" , "byte" , "case" , "catch" ,
2626def test_generate_getter_integer ():
2727 attr = Field (
2828 name = "exampleAttribute" ,
29- type = "Integer "
29+ type = "int "
3030 )
3131 expected = """
32- public Integer getExampleAttribute() {
32+ public int getExampleAttribute() {
3333 return exampleAttribute;
34- }
35- """
34+ }"""
3635 assert (generate_getter (attr ) == expected )
3736
3837
@@ -41,8 +40,16 @@ def test_generate_getter_string():
4140 expected = """
4241 public String getSomeName() {
4342 return someName;
44- }
45- """
43+ }"""
44+ assert (generate_getter (attr ) == expected )
45+
46+
47+ def test_generate_getter_custom_object ():
48+ attr = Field (name = "customData" , type = "CustomObject" )
49+ expected = """
50+ public CustomObject getCustomData() {
51+ return customData;
52+ }"""
4653 assert (generate_getter (attr ) == expected )
4754
4855
@@ -54,3 +61,39 @@ def test_generate_getter_invalid_name():
5461 with pytest .raises (ValueError ):
5562 generate_getter (attr )
5663
64+
65+ def test_generate_setter_integer ():
66+ attr = Field (name = "exampleAttribute" , type = "int" )
67+ expected = f"""
68+ public void setExampleAttribute(int exampleAttribute) {{
69+ this.exampleAttribute = exampleAttribute;
70+ }}"""
71+ assert (generate_setter (attr ) == expected )
72+
73+
74+ def test_generate_setter_string ():
75+ attr = Field (name = "someName" , type = "String" )
76+ expected = f"""
77+ public void setSomeName(String someName) {{
78+ this.someName = someName;
79+ }}"""
80+ assert (generate_setter (attr ) == expected )
81+
82+
83+ def test_generate_setter_custom_object ():
84+ attr = Field (name = "customData" , type = "CustomObject" )
85+ expected = f"""
86+ public void setCustomData(CustomObject customData) {{
87+ this.customData = customData;
88+ }}"""
89+ assert (generate_setter (attr ) == expected )
90+
91+
92+ def test_generate_setter_invalid_name ():
93+ EMPTY_NAMES = {None , "" }
94+ invalid_names = JAVA_KEYWORDS | JAVA_BUILTIN_TYPES | JAVA_LITERALS | EMPTY_NAMES
95+ for name in invalid_names :
96+ attr = Field (name = name , type = "String" )
97+ with pytest .raises (ValueError ):
98+ generate_setter (attr )
99+
0 commit comments