11import pytest
22
3- from src . method_generator import generate_getter , Field , generate_setter , generate_getters_and_setters , \
4- generate_field_declaration , generate_fields_block
3+ from tests . reference_data import *
4+ from src . method_generator import *
55
66JAVA_KEYWORDS = {
77 "abstract" , "assert" , "boolean" , "break" , "byte" , "case" , "catch" ,
2727
2828MALFORMED_IDENTIFIERS = {"3" , "abc-d" , "gf*d" }
2929
30+ illegal_names = JAVA_KEYWORDS | JAVA_BUILTIN_TYPES | JAVA_LITERALS | EMPTY_NAMES | MALFORMED_IDENTIFIERS
31+
3032
3133def test_generate_getter_integer ():
32- attr = Field (
33- name = "exampleAttribute" ,
34- type = "int"
35- )
36- expected = """
37- public int getExampleAttribute() {
38- return exampleAttribute;
39- }"""
40- assert (generate_getter (attr ) == expected )
34+ attr = field_exampleAttribute_int
35+
36+ assert (generate_getter (attr ) == expected_getExampleAttribute_int )
4137
4238
4339def test_generate_getter_string ():
44- attr = Field (name = "someName" , type = "String" )
45- expected = """
46- public String getSomeName() {
47- return someName;
48- }"""
49- assert (generate_getter (attr ) == expected )
40+ attr = field_someName_String
41+
42+ assert (generate_getter (attr ) == expected_getSomeName_String )
5043
5144
5245def test_generate_getter_custom_object ():
53- attr = Field (name = "customData" , type = "CustomObject" )
54- expected = """
55- public CustomObject getCustomData() {
56- return customData;
57- }"""
58- assert (generate_getter (attr ) == expected )
46+ attr = field_customData_CustomObject
47+
48+ assert (generate_getter (attr ) == expected_getCustomData_CustomObject )
5949
6050
6151def test_generate_getter_invalid_name ():
62- illegal_names = JAVA_KEYWORDS | JAVA_BUILTIN_TYPES | JAVA_LITERALS | EMPTY_NAMES | MALFORMED_IDENTIFIERS
6352 for name in illegal_names :
6453 attr = Field (name = name , type = "String" )
6554 with pytest .raises (ValueError ):
6655 generate_getter (attr )
6756
6857
6958def test_generate_setter_integer ():
70- attr = Field (name = "exampleAttribute" , type = "int" )
71- expected = """
72- public void setExampleAttribute(int exampleAttribute) {
73- this.exampleAttribute = exampleAttribute;
74- }"""
75- assert (generate_setter (attr ) == expected )
59+ attr = field_exampleAttribute_int
60+
61+ assert (generate_setter (attr ) == expected_setExampleAttribute_int )
7662
7763
7864def test_generate_setter_string ():
79- attr = Field (name = "someName" , type = "String" )
80- expected = """
81- public void setSomeName(String someName) {
82- this.someName = someName;
83- }"""
84- assert (generate_setter (attr ) == expected )
65+ attr = field_someName_String
66+
67+ assert (generate_setter (attr ) == expected_setSomeName_String )
8568
8669
8770def test_generate_setter_custom_object ():
88- attr = Field (name = "customData" , type = "CustomObject" )
89- expected = """
90- public void setCustomData(CustomObject customData) {
91- this.customData = customData;
92- }"""
93- assert (generate_setter (attr ) == expected )
71+ attr = field_customData_CustomObject
72+
73+ assert (generate_setter (attr ) == expected_setCustomData_CustomObject )
9474
9575
9676def test_generate_setter_invalid_name ():
97- illegal_names = JAVA_KEYWORDS | JAVA_BUILTIN_TYPES | JAVA_LITERALS | EMPTY_NAMES | MALFORMED_IDENTIFIERS
9877 for name in illegal_names :
9978 attr = Field (name = name , type = "String" )
10079 with pytest .raises (ValueError ):
10180 generate_setter (attr )
10281
10382
10483def test_generate_getters_and_setters ():
105- attr1 = Field ( name = "exampleAttribute" , type = "int" )
106- attr2 = Field ( name = "customData" , type = "CustomObject" )
84+ attr1 = field_exampleAttribute_int
85+ attr2 = field_customData_CustomObject
10786 attributes = [attr1 , attr2 ]
108- expected = """
109- public int getExampleAttribute() {
110- return exampleAttribute;
111- }\n \n
112- public void setExampleAttribute(int exampleAttribute) {
113- this.exampleAttribute = exampleAttribute;
114- }\n \n
115- public CustomObject getCustomData() {
116- return customData;
117- }\n \n
118- public void setCustomData(CustomObject customData) {
119- this.customData = customData;
120- }"""
87+
88+ expected = "\n \n " .join ([
89+ expected_getExampleAttribute_int ,
90+ expected_setExampleAttribute_int ,
91+ expected_getCustomData_CustomObject ,
92+ expected_setCustomData_CustomObject
93+ ])
12194 assert generate_getters_and_setters (attributes ) == expected
12295
12396
12497def test_generate_field_declaration ():
125- attr = Field ( name = "exampleAttribute" , type = "int" , description = "javadoc description" )
98+ attr = field_exampleAttribute_int
12699 expected = """
127100 /**
128101 * javadoc description
@@ -133,34 +106,31 @@ def test_generate_field_declaration():
133106
134107
135108def test_generate_field_declaration_no_description ():
136- attr = Field ( name = "customData" , type = "CustomObject" )
109+ attr = field_someName_String
137110 expected = """
138- private CustomObject customData ;"""
111+ private String someName ;"""
139112
140113 assert generate_field_declaration (attr ) == expected
141114
142115
143116def test_generate_field_declaration_invalid_name ():
144- illegal_names = JAVA_KEYWORDS | JAVA_BUILTIN_TYPES | JAVA_LITERALS | EMPTY_NAMES | MALFORMED_IDENTIFIERS
145117 for name in illegal_names :
146118 attr = Field (name = name , type = "String" )
147119 with pytest .raises (ValueError ):
148120 generate_field_declaration (attr )
149121
150122
151123def test_generate_fields_block ():
152- attr1 = Field ( name = "exampleAttribute" , type = "int" , description = "javadoc description" )
153- attr2 = Field ( name = "someName" , type = "String" )
154- attr3 = Field ( name = "customData" , type = "CustomObject" , description = "another javadoc description" )
124+ attr1 = field_exampleAttribute_int
125+ attr2 = field_someName_String
126+ attr3 = field_customData_CustomObject
155127 attributes = [attr1 , attr2 , attr3 ]
156128 expected = """
157129 /**
158130 * javadoc description
159131 */
160- private int exampleAttribute;
161-
162- private String someName;
163-
132+ private int exampleAttribute;\n
133+ private String someName;\n
164134 /**
165135 * another javadoc description
166136 */
0 commit comments