Skip to content

Commit a6c375f

Browse files
Add tests for TypeNames.
Original Pull Request: #3357
1 parent 1db0839 commit a6c375f

File tree

2 files changed

+79
-17
lines changed

2 files changed

+79
-17
lines changed

src/test/java/org/springframework/data/javapoet/JavaPoetUnitTests.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -125,22 +125,22 @@ void shouldRenderSimpleReturn() {
125125
void shouldRenderConditionalLongReturn() {
126126

127127
CodeBlock block = LordOfTheStrings.returning(Long.class).whenLong("1L").whenBoxedLong("$T.valueOf(1)", Long.class)
128-
.otherwise("😫").build();
128+
.otherwise(":-[").build();
129129
assertThat(block).hasToString("return java.lang.Long.valueOf(1)");
130130

131131
block = LordOfTheStrings.returning(Long.class).whenBoxedLong("$T.valueOf(1)", Long.class).whenLong("1L")
132-
.otherwise("😫").build();
132+
.otherwise(":-[").build();
133133
assertThat(block).hasToString("return java.lang.Long.valueOf(1)");
134134

135135
block = LordOfTheStrings.returning(long.class).whenBoxedLong("$T.valueOf(1)", Long.class).whenLong("1L")
136-
.otherwise("😫").build();
136+
.otherwise(":-[").build();
137137
assertThat(block).hasToString("return 1L");
138138

139-
block = LordOfTheStrings.returning(Long.class).whenBoxed(Long.class, "$T.valueOf(1)", Long.class).otherwise("😫")
139+
block = LordOfTheStrings.returning(Long.class).whenBoxed(Long.class, "$T.valueOf(1)", Long.class).otherwise(":-[")
140140
.build();
141141
assertThat(block).hasToString("return java.lang.Long.valueOf(1)");
142142

143-
block = LordOfTheStrings.returning(Long.class).whenBoxed(long.class, "$T.valueOf(1)", Long.class).otherwise("😫")
143+
block = LordOfTheStrings.returning(Long.class).whenBoxed(long.class, "$T.valueOf(1)", Long.class).otherwise(":-[")
144144
.build();
145145
assertThat(block).hasToString("return java.lang.Long.valueOf(1)");
146146
}
@@ -149,44 +149,44 @@ void shouldRenderConditionalLongReturn() {
149149
void shouldRenderConditionalIntReturn() {
150150

151151
CodeBlock block = LordOfTheStrings.returning(Integer.class).whenBoxed(long.class, "$T.valueOf(1)", Long.class)
152-
.otherwise("😫").build();
153-
assertThat(block).hasToString("return 😫");
152+
.otherwise(":-[").build();
153+
assertThat(block).hasToString("return :-[");
154154

155-
block = LordOfTheStrings.returning(Integer.class).whenBoxedInteger("$T.valueOf(1)", Integer.class).otherwise("😫")
155+
block = LordOfTheStrings.returning(Integer.class).whenBoxedInteger("$T.valueOf(1)", Integer.class).otherwise(":-[")
156156
.build();
157157
assertThat(block).hasToString("return java.lang.Integer.valueOf(1)");
158158

159159
block = LordOfTheStrings.returning(int.class).whenBoxedInteger("$T.valueOf(1)", Integer.class).whenInt("1")
160-
.otherwise("😫").build();
160+
.otherwise(":-[").build();
161161
assertThat(block).hasToString("return 1");
162162
}
163163

164164
@Test // GH-3357
165165
void shouldRenderConditionalBooleanReturn() {
166166

167-
CodeBlock block = LordOfTheStrings.returning(boolean.class).whenBoolean("$L", true).otherwise("😫").build();
167+
CodeBlock block = LordOfTheStrings.returning(boolean.class).whenBoolean("$L", true).otherwise(":-[").build();
168168
assertThat(block).hasToString("return true");
169169

170-
block = LordOfTheStrings.returning(Boolean.class).whenBoolean("$L", true).otherwise("😫").build();
170+
block = LordOfTheStrings.returning(Boolean.class).whenBoolean("$L", true).otherwise(":-[").build();
171171
assertThat(block).hasToString("return true");
172172
}
173173

174174
@Test // GH-3357
175175
void shouldRenderConditionalNumericReturn() {
176176

177-
CodeBlock block = LordOfTheStrings.returning(boolean.class).number("someNumericVariable").otherwise("😫").build();
178-
assertThat(block).hasToString("return 😫");
177+
CodeBlock block = LordOfTheStrings.returning(boolean.class).number("someNumericVariable").otherwise(":-[").build();
178+
assertThat(block).hasToString("return :-[");
179179

180-
block = LordOfTheStrings.returning(long.class).number("someNumericVariable").otherwise("😫").build();
180+
block = LordOfTheStrings.returning(long.class).number("someNumericVariable").otherwise(":-[").build();
181181
assertThat(block).hasToString("return someNumericVariable != null ? someNumericVariable.longValue() : 0L");
182182

183-
block = LordOfTheStrings.returning(Long.class).number("someNumericVariable").otherwise("😫").build();
183+
block = LordOfTheStrings.returning(Long.class).number("someNumericVariable").otherwise(":-[").build();
184184
assertThat(block).hasToString("return someNumericVariable != null ? someNumericVariable.longValue() : null");
185185

186-
block = LordOfTheStrings.returning(int.class).number("someNumericVariable").otherwise("😫").build();
186+
block = LordOfTheStrings.returning(int.class).number("someNumericVariable").otherwise(":-[").build();
187187
assertThat(block).hasToString("return someNumericVariable != null ? someNumericVariable.intValue() : 0");
188188

189-
block = LordOfTheStrings.returning(Integer.class).number("someNumericVariable").otherwise("😫").build();
189+
block = LordOfTheStrings.returning(Integer.class).number("someNumericVariable").otherwise(":-[").build();
190190
assertThat(block).hasToString("return someNumericVariable != null ? someNumericVariable.intValue() : null");
191191
}
192192

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
/*
2+
* Copyright 2025 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package org.springframework.data.javapoet;
17+
18+
import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
19+
20+
import java.util.Set;
21+
import java.util.stream.Stream;
22+
23+
import org.junit.jupiter.params.ParameterizedTest;
24+
import org.junit.jupiter.params.provider.Arguments;
25+
import org.junit.jupiter.params.provider.MethodSource;
26+
import org.springframework.core.ResolvableType;
27+
import org.springframework.javapoet.ParameterizedTypeName;
28+
import org.springframework.javapoet.TypeName;
29+
30+
/**
31+
* @author Christoph Strobl
32+
*/
33+
class TypeNamesUnitTests {
34+
35+
static Stream<Arguments> typeNames() {
36+
return Stream.of(Arguments.of(ResolvableType.forClass(String.class), TypeName.get(String.class)),
37+
Arguments.of(ResolvableType.forClassWithGenerics(Set.class, String.class),
38+
ParameterizedTypeName.get(Set.class, String.class)),
39+
Arguments.of(ResolvableType.forClass(Void.class), TypeName.get(Void.class)),
40+
Arguments.of(ResolvableType.forClass(Iterable.class, Object.class), TypeName.get(Iterable.class)));
41+
}
42+
43+
static Stream<Arguments> classNames() {
44+
return Stream.of(Arguments.of(ResolvableType.forClass(String.class), TypeName.get(String.class)),
45+
Arguments.of(ResolvableType.forClassWithGenerics(Set.class, String.class), TypeName.get(Set.class)),
46+
Arguments.of(ResolvableType.forClass(Void.class), TypeName.get(Void.class)),
47+
Arguments.of(ResolvableType.forClass(Iterable.class, Object.class), TypeName.get(Iterable.class)));
48+
}
49+
50+
@ParameterizedTest // GH-3357
51+
@MethodSource
52+
void typeNames(ResolvableType resolvableType, TypeName expected) {
53+
assertThat(TypeNames.typeName(resolvableType)).isEqualTo(expected);
54+
}
55+
56+
@ParameterizedTest // GH-3357
57+
@MethodSource
58+
void classNames(ResolvableType resolvableType, TypeName expected) {
59+
assertThat(TypeNames.className(resolvableType)).isEqualTo(expected);
60+
}
61+
62+
}

0 commit comments

Comments
 (0)