Skip to content

Commit 8fa107d

Browse files
committed
DATAMONGO-2138 - Unwrap typed criteria in tests
1 parent 7967902 commit 8fa107d

File tree

1 file changed

+51
-47
lines changed

1 file changed

+51
-47
lines changed

spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/query/TypedCriteriaExtensionsTests.kt

Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -62,187 +62,189 @@ class TypedCriteriaExtensionsTests {
6262
@Test
6363
fun `isEqualTo() typed criteria should equal classic criteria`() {
6464

65-
val typed = typedCriteria(Book::title isEqualTo "Moby-Dick")
65+
val typed = Book::title isEqualTo "Moby-Dick"
6666
val classic = Criteria("title").isEqualTo("Moby-Dick")
6767
assertEqualCriteria(typed, classic)
6868
}
6969

7070
@Test
7171
fun `ne() typed criteria should equal classic criteria`() {
7272

73-
val typed = typedCriteria(Book::title ne "Moby-Dick")
73+
val typed = Book::title ne "Moby-Dick"
7474
val classic = Criteria("title").ne("Moby-Dick")
7575
assertEqualCriteria(typed, classic)
7676
}
7777

7878
@Test
7979
fun `lt() typed criteria should equal classic criteria`() {
8080

81-
val typed = typedCriteria(Book::price lt 100)
81+
val typed = Book::price lt 100
8282
val classic = Criteria("price").lt(100)
8383
assertEqualCriteria(typed, classic)
8484
}
8585

8686
@Test
8787
fun `lte() typed criteria should equal classic criteria`() {
8888

89-
val typed = typedCriteria(Book::price lte 100)
89+
val typed = Book::price lte 100
9090
val classic = Criteria("price").lte(100)
9191
assertEqualCriteria(typed, classic)
9292
}
9393

9494
@Test
9595
fun `gt() typed criteria should equal classic criteria`() {
9696

97-
val typed = typedCriteria(Book::price gt 100)
97+
val typed = Book::price gt 100
9898
val classic = Criteria("price").gt(100)
9999
assertEqualCriteria(typed, classic)
100100
}
101101

102102
@Test
103103
fun `gte() typed criteria should equal classic criteria`() {
104104

105-
val typed = typedCriteria(Book::price gte 100)
105+
val typed = Book::price gte 100
106106
val classic = Criteria("price").gte(100)
107107
assertEqualCriteria(typed, classic)
108108
}
109109

110110
@Test
111111
fun `inValues(vararg) typed criteria should equal classic criteria`() {
112112

113-
val typed = typedCriteria(Book::price.inValues(1, 2, 3))
113+
val typed = Book::price.inValues(1, 2, 3)
114114
val classic = Criteria("price").inValues(1, 2, 3)
115115
assertEqualCriteria(typed, classic)
116116
}
117117

118118
@Test
119119
fun `inValues(list) typed criteria should equal classic criteria`() {
120120

121-
val typed = typedCriteria(Book::price inValues listOf(1, 2, 3))
121+
val typed = Book::price inValues listOf(1, 2, 3)
122122
val classic = Criteria("price").inValues(listOf(1, 2, 3))
123123
assertEqualCriteria(typed, classic)
124124
}
125125

126126
@Test
127127
fun `nin(vararg) typed criteria should equal classic criteria`() {
128128

129-
val typed = typedCriteria(Book::price.nin(1, 2, 3))
129+
val typed = Book::price.nin(1, 2, 3)
130130
val classic = Criteria("price").nin(1, 2, 3)
131131
assertEqualCriteria(typed, classic)
132132
}
133133

134134
@Test
135135
fun `nin(list) typed criteria should equal classic criteria`() {
136136

137-
val typed = typedCriteria(Book::price nin listOf(1, 2, 3))
137+
val typed = Book::price nin listOf(1, 2, 3)
138138
val classic = Criteria("price").nin(listOf(1, 2, 3))
139139
assertEqualCriteria(typed, classic)
140140
}
141141

142142
@Test
143143
fun `mod() typed criteria should equal classic criteria`() {
144144

145-
val typed = typedCriteria(Book::price.mod(2, 3))
145+
val typed = Book::price.mod(2, 3)
146146
val classic = Criteria("price").mod(2, 3)
147147
assertEqualCriteria(typed, classic)
148148
}
149149

150150
@Test
151151
fun `all(vararg) typed criteria should equal classic criteria`() {
152152

153-
val typed = typedCriteria(Book::categories.all(1, 2, 3))
153+
val typed = Book::categories.all(1, 2, 3)
154154
val classic = Criteria("categories").all(1, 2, 3)
155155
assertEqualCriteria(typed, classic)
156156
}
157157

158158
@Test
159159
fun `all(list) typed criteria should equal classic criteria`() {
160160

161-
val typed = typedCriteria(Book::categories all listOf(1, 2, 3))
161+
val typed = Book::categories all listOf(1, 2, 3)
162162
val classic = Criteria("categories").all(listOf(1, 2, 3))
163163
assertEqualCriteria(typed, classic)
164164
}
165165

166166
@Test
167167
fun `size() typed criteria should equal classic criteria`() {
168168

169-
val typed = typedCriteria(Book::categories size 4)
169+
val typed = Book::categories size 4
170170
val classic = Criteria("categories").size(4)
171171
assertEqualCriteria(typed, classic)
172172
}
173173

174174
@Test
175175
fun `exists() typed criteria should equal classic criteria`() {
176176

177-
val typed = typedCriteria(Book::title exists true)
177+
val typed = Book::title exists true
178178
val classic = Criteria("title").exists(true)
179179
assertEqualCriteria(typed, classic)
180180
}
181181

182182
@Test
183183
fun `type(Int) typed criteria should equal classic criteria`() {
184184

185-
val typed = typedCriteria(Book::title type 2)
185+
val typed = Book::title type 2
186186
val classic = Criteria("title").type(2)
187187
assertEqualCriteria(typed, classic)
188188
}
189189

190190
@Test
191191
fun `type(List) typed criteria should equal classic criteria`() {
192192

193-
val typed = typedCriteria(Book::title type listOf(Type.STRING, Type.BOOLEAN))
193+
val typed = Book::title type listOf(Type.STRING, Type.BOOLEAN)
194194
val classic = Criteria("title").type(Type.STRING, Type.BOOLEAN)
195195
assertEqualCriteria(typed, classic)
196196
}
197197

198198
@Test
199199
fun `type(vararg) typed criteria should equal classic criteria`() {
200200

201-
val typed = typedCriteria(Book::title.type(Type.STRING, Type.BOOLEAN))
201+
val typed = Book::title.type(Type.STRING, Type.BOOLEAN)
202202
val classic = Criteria("title").type(Type.STRING, Type.BOOLEAN)
203203
assertEqualCriteria(typed, classic)
204204
}
205205

206206
@Test
207207
fun `not() typed criteria should equal classic criteria`() {
208208

209-
val typed = typedCriteria(Book::title.not())
209+
val typed = Book::title.not()
210210
val classic = Criteria("title").not()
211211
assertEqualCriteria(typed, classic)
212212
}
213213

214214
@Test
215215
fun `regex(string) typed criteria should equal classic criteria`() {
216216

217-
val typed = typedCriteria(Book::title regex "ab+c")
217+
val typed = Book::title regex "ab+c"
218218
val classic = Criteria("title").regex("ab+c")
219-
assertThat(typed).isEqualTo(classic)
220-
assertThat(typed.criteriaObject.toJson()).isEqualTo(classic.criteriaObject.toJson())
219+
assertEqualCriteriaByJson(typed, classic)
221220
}
222221

223222
@Test
224223
fun `regex(string, options) typed criteria should equal classic criteria`() {
225224

226-
val typed = typedCriteria(Book::title.regex("ab+c", "g"))
225+
val typed = Book::title.regex("ab+c", "g")
227226
val classic = Criteria("title").regex("ab+c", "g")
228-
assertThat(typed).isEqualTo(classic)
229-
assertThat(typed.criteriaObject.toJson()).isEqualTo(classic.criteriaObject.toJson())
227+
assertEqualCriteriaByJson(typed, classic)
230228
}
231229

232230
@Test
233231
fun `regex(Regex) typed criteria should equal classic criteria`() {
234232

235-
val typed = typedCriteria(Book::title regex Regex("ab+c"))
233+
val typed = Book::title regex Regex("ab+c")
236234
val classic = Criteria("title").regex(Pattern.compile("ab+c"))
237-
assertThat(typed).isEqualTo(classic)
235+
assertEqualCriteriaByJson(typed, classic)
236+
}
237+
238+
private fun assertEqualCriteriaByJson(typed: TypedCriteria, classic: Criteria) {
239+
assertThat(typed.criteria).isEqualTo(classic)
238240
assertThat(typed.criteriaObject.toJson()).isEqualTo(classic.criteriaObject.toJson())
239241
}
240242

241243
@Test
242244
fun `regex(Pattern) typed criteria should equal classic criteria`() {
243245

244246
val value = Pattern.compile("ab+c")
245-
val typed = typedCriteria(Book::title regex value)
247+
val typed = Book::title regex value
246248
val classic = Criteria("title").regex(value)
247249
assertEqualCriteria(typed, classic)
248250
}
@@ -251,7 +253,7 @@ class TypedCriteriaExtensionsTests {
251253
fun `regex(BsonRegularExpression) typed criteria should equal classic criteria`() {
252254

253255
val expression = BsonRegularExpression("ab+c")
254-
val typed = typedCriteria(Book::title regex expression)
256+
val typed = Book::title regex expression
255257
val classic = Criteria("title").regex(expression)
256258
assertEqualCriteria(typed, classic)
257259
}
@@ -260,7 +262,7 @@ class TypedCriteriaExtensionsTests {
260262
fun `withinSphere() typed criteria should equal classic criteria`() {
261263

262264
val value = Circle(Point(1.0, 2.0), 3.0)
263-
val typed = typedCriteria(Building::location withinSphere value)
265+
val typed = Building::location withinSphere value
264266
val classic = Criteria("location").withinSphere(value)
265267
assertEqualCriteria(typed, classic)
266268
}
@@ -269,7 +271,7 @@ class TypedCriteriaExtensionsTests {
269271
fun `within() typed criteria should equal classic criteria`() {
270272

271273
val value = Circle(Point(1.0, 2.0), 3.0)
272-
val typed = typedCriteria(Building::location within value)
274+
val typed = Building::location within value
273275
val classic = Criteria("location").within(value)
274276
assertEqualCriteria(typed, classic)
275277
}
@@ -278,7 +280,7 @@ class TypedCriteriaExtensionsTests {
278280
fun `near() typed criteria should equal classic criteria`() {
279281

280282
val value = Point(1.0, 2.0)
281-
val typed = typedCriteria(Building::location near value)
283+
val typed = Building::location near value
282284
val classic = Criteria("location").near(value)
283285
assertEqualCriteria(typed, classic)
284286
}
@@ -287,7 +289,7 @@ class TypedCriteriaExtensionsTests {
287289
fun `nearSphere() typed criteria should equal classic criteria`() {
288290

289291
val value = Point(1.0, 2.0)
290-
val typed = typedCriteria(Building::location nearSphere value)
292+
val typed = Building::location nearSphere value
291293
val classic = Criteria("location").nearSphere(value)
292294
assertEqualCriteria(typed, classic)
293295
}
@@ -296,23 +298,23 @@ class TypedCriteriaExtensionsTests {
296298
fun `intersects() typed criteria should equal classic criteria`() {
297299

298300
val value = GeoJsonPoint(1.0, 2.0)
299-
val typed = typedCriteria(Building::location intersects value)
301+
val typed = Building::location intersects value
300302
val classic = Criteria("location").intersects(value)
301303
assertEqualCriteria(typed, classic)
302304
}
303305

304306
@Test
305307
fun `maxDistance() typed criteria should equal classic criteria`() {
306308

307-
val typed = typedCriteria(Building::location maxDistance 3.0)
309+
val typed = Building::location maxDistance 3.0
308310
val classic = Criteria("location").maxDistance(3.0)
309311
assertEqualCriteria(typed, classic)
310312
}
311313

312314
@Test
313315
fun `minDistance() typed criteria should equal classic criteria`() {
314316

315-
val typed = typedCriteria(Building::location minDistance 3.0)
317+
val typed = Building::location minDistance 3.0
316318
val classic = Criteria("location").minDistance(3.0)
317319
assertEqualCriteria(typed, classic)
318320
}
@@ -321,15 +323,15 @@ class TypedCriteriaExtensionsTests {
321323
fun `elemMatch() typed criteria should equal classic criteria`() {
322324

323325
val value = Criteria("price").lt(950)
324-
val typed = typedCriteria(Book::title elemMatch value)
326+
val typed = Book::title elemMatch value
325327
val classic = Criteria("title").elemMatch(value)
326328
assertEqualCriteria(typed, classic)
327329
}
328330

329331
@Test
330332
fun `elemMatch(TypedCriteria) typed criteria should equal classic criteria`() {
331333

332-
val typed = typedCriteria(Book::title elemMatch (Book::price lt 950))
334+
val typed = Book::title elemMatch (Book::price lt 950)
333335
val classic = Criteria("title").elemMatch(Criteria("price").lt(950))
334336
assertEqualCriteria(typed, classic)
335337
}
@@ -338,7 +340,7 @@ class TypedCriteriaExtensionsTests {
338340
fun `alike() typed criteria should equal classic criteria`() {
339341

340342
val value = Example.of(Book())
341-
val typed = typedCriteria(alike(value))
343+
val typed = alike(value)
342344
val classic = Criteria().alike(value)
343345
assertEqualCriteria(typed, classic)
344346
}
@@ -347,15 +349,15 @@ class TypedCriteriaExtensionsTests {
347349
fun `andDocumentStructureMatches() typed criteria should equal classic criteria`() {
348350

349351
val value = MongoJsonSchema.builder().required("name").build()
350-
val typed = typedCriteria(Book::title andDocumentStructureMatches value)
352+
val typed = Book::title andDocumentStructureMatches value
351353
val classic = Criteria("title").andDocumentStructureMatches(value)
352354
assertEqualCriteria(typed, classic)
353355
}
354356

355357
@Test
356358
fun `bits() typed criteria should equal classic criteria`() {
357359

358-
val typed = typedCriteria(Book::title bits { allClear(123) })
360+
val typed = Book::title bits { allClear(123) }
359361
val classic = Criteria("title").bits().allClear(123)
360362
assertEqualCriteria(typed, classic)
361363
}
@@ -417,9 +419,8 @@ class TypedCriteriaExtensionsTests {
417419
@Test
418420
fun `One level nested typed criteria should equal classic criteria`() {
419421

420-
val typed = typedCriteria(
421-
Book::author / Author::name isEqualTo "Herman Melville"
422-
)
422+
val typed = Book::author / Author::name isEqualTo "Herman Melville"
423+
423424
val classic = Criteria("author.name").isEqualTo("Herman Melville")
424425
assertEqualCriteria(typed, classic)
425426
}
@@ -429,13 +430,16 @@ class TypedCriteriaExtensionsTests {
429430

430431
data class Entity(val book: Book)
431432

432-
val typed = typedCriteria(
433-
Entity::book / Book::author / Author::name isEqualTo "Herman Melville"
434-
)
433+
val typed = Entity::book / Book::author / Author::name isEqualTo "Herman Melville"
435434
val classic = Criteria("book.author.name").isEqualTo("Herman Melville")
436435
assertEqualCriteria(typed, classic)
437436
}
438437

438+
private fun assertEqualCriteria(typed: TypedCriteria, classic: Criteria) {
439+
assertThat(typed.criteriaObject).isEqualTo(classic.criteriaObject)
440+
assertThat(typed.criteria).isEqualTo(classic)
441+
}
442+
439443
private fun assertEqualCriteria(typed: Criteria, classic: Criteria) {
440444
assertThat(typed.criteriaObject).isEqualTo(classic.criteriaObject)
441445
assertThat(typed).isEqualTo(classic)

0 commit comments

Comments
 (0)