@@ -20,6 +20,31 @@ class SelectDslTest : WithAssertions {
20
20
private class Dto
21
21
private class View
22
22
23
+ @Test
24
+ fun `select() with a KClass and an expression` () {
25
+ // when
26
+ val select = queryPart {
27
+ select(
28
+ BigDecimal ::class ,
29
+ expression1,
30
+ ).from(
31
+ entity1,
32
+ )
33
+ }.toQuery()
34
+
35
+ val actual: SelectQuery <BigDecimal > = select // for type check
36
+
37
+ // then
38
+ val expected = SelectQueries .selectQuery(
39
+ returnType = BigDecimal ::class ,
40
+ distinct = false ,
41
+ select = listOf (expression1),
42
+ from = listOf (entity1),
43
+ )
44
+
45
+ assertThat(actual).isEqualTo(expected)
46
+ }
47
+
23
48
@Test
24
49
fun `select() with an expression` () {
25
50
// when
@@ -44,6 +69,32 @@ class SelectDslTest : WithAssertions {
44
69
assertThat(actual).isEqualTo(expected)
45
70
}
46
71
72
+ @Test
73
+ fun `select() with a KClass and expressions` () {
74
+ // when
75
+ val select = queryPart {
76
+ select(
77
+ View ::class ,
78
+ expression1,
79
+ expression2,
80
+ ).from(
81
+ entity1,
82
+ )
83
+ }.toQuery()
84
+
85
+ val actual: SelectQuery <View > = select // for type check
86
+
87
+ // then
88
+ val expected = SelectQueries .selectQuery(
89
+ returnType = View ::class ,
90
+ distinct = false ,
91
+ select = listOf (expression1, expression2),
92
+ from = listOf (entity1),
93
+ )
94
+
95
+ assertThat(actual).isEqualTo(expected)
96
+ }
97
+
47
98
@Test
48
99
fun `select() with a generic type and expressions` () {
49
100
// when
@@ -70,10 +121,10 @@ class SelectDslTest : WithAssertions {
70
121
}
71
122
72
123
@Test
73
- fun `select () with a KClass` () {
124
+ fun `selectDistinct () with a KClass and an expression ` () {
74
125
// when
75
126
val select = queryPart {
76
- select (
127
+ selectDistinct (
77
128
BigDecimal ::class ,
78
129
expression1,
79
130
).from(
@@ -86,7 +137,7 @@ class SelectDslTest : WithAssertions {
86
137
// then
87
138
val expected = SelectQueries .selectQuery(
88
139
returnType = BigDecimal ::class ,
89
- distinct = false ,
140
+ distinct = true ,
90
141
select = listOf (expression1),
91
142
from = listOf (entity1),
92
143
)
@@ -119,10 +170,11 @@ class SelectDslTest : WithAssertions {
119
170
}
120
171
121
172
@Test
122
- fun `selectDistinct() with a generic type and expressions` () {
173
+ fun `selectDistinct() with a KClass and expressions` () {
123
174
// when
124
175
val select = queryPart {
125
- selectDistinct<View >(
176
+ selectDistinct(
177
+ View ::class ,
126
178
expression1,
127
179
expression2,
128
180
).from(
@@ -144,35 +196,36 @@ class SelectDslTest : WithAssertions {
144
196
}
145
197
146
198
@Test
147
- fun `selectDistinct() with a KClass ` () {
199
+ fun `selectDistinct() with a generic type and expressions ` () {
148
200
// when
149
201
val select = queryPart {
150
- selectDistinct(
151
- BigDecimal ::class ,
202
+ selectDistinct<View >(
152
203
expression1,
204
+ expression2,
153
205
).from(
154
206
entity1,
155
207
)
156
208
}.toQuery()
157
209
158
- val actual: SelectQuery <BigDecimal > = select // for type check
210
+ val actual: SelectQuery <View > = select // for type check
159
211
160
212
// then
161
213
val expected = SelectQueries .selectQuery(
162
- returnType = BigDecimal ::class ,
214
+ returnType = View ::class ,
163
215
distinct = true ,
164
- select = listOf (expression1),
216
+ select = listOf (expression1, expression2 ),
165
217
from = listOf (entity1),
166
218
)
167
219
168
220
assertThat(actual).isEqualTo(expected)
169
221
}
170
222
171
223
@Test
172
- fun `selectNew() with a generic type and expressions` () {
224
+ fun `selectNew() with a KClass and expressions` () {
173
225
// when
174
226
val select = queryPart {
175
- selectNew<Dto >(
227
+ selectNew(
228
+ Dto ::class ,
176
229
expression1,
177
230
expression2,
178
231
).from(
@@ -199,11 +252,10 @@ class SelectDslTest : WithAssertions {
199
252
}
200
253
201
254
@Test
202
- fun `selectNew() with a KClass ` () {
255
+ fun `selectNew() with a generic type and expressions ` () {
203
256
// when
204
257
val select = queryPart {
205
- selectNew(
206
- Dto ::class ,
258
+ selectNew<Dto >(
207
259
expression1,
208
260
expression2,
209
261
).from(
@@ -230,10 +282,11 @@ class SelectDslTest : WithAssertions {
230
282
}
231
283
232
284
@Test
233
- fun `selectDistinctNew() with a generic type and expressions` () {
285
+ fun `selectDistinctNew() with a KClass and expressions` () {
234
286
// when
235
287
val select = queryPart {
236
- selectDistinctNew<Dto >(
288
+ selectDistinctNew(
289
+ Dto ::class ,
237
290
expression1,
238
291
expression2,
239
292
).from(
@@ -260,11 +313,10 @@ class SelectDslTest : WithAssertions {
260
313
}
261
314
262
315
@Test
263
- fun `selectDistinctNew() with a KClass ` () {
316
+ fun `selectDistinctNew() with a generic type and expressions ` () {
264
317
// when
265
318
val select = queryPart {
266
- selectDistinctNew(
267
- Dto ::class ,
319
+ selectDistinctNew<Dto >(
268
320
expression1,
269
321
expression2,
270
322
).from(
0 commit comments