Skip to content

Commit 4fd7f2f

Browse files
authored
DOCSP-34312: modify data class to use nested class and update examples (#142)
* DOCSP-34312: modify data class to use nested class and update examples * add taxonomy * typo fix
1 parent 52c74b7 commit 4fd7f2f

8 files changed

+130
-46
lines changed

examples/src/test/kotlin/UpdatesBuildersTest.kt

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@ class UpdatesBuildersTest {
2424
@BsonId val id: Int,
2525
val color: String,
2626
val qty: Int?,
27-
val vendor: List<String>?,
27+
val vendor: List<Vendor>?,
2828
val lastModified: LocalDateTime?
2929
)
30+
31+
data class Vendor (
32+
val name: String,
33+
)
3034
// :snippet-end:
3135

3236
companion object {
@@ -51,7 +55,7 @@ class UpdatesBuildersTest {
5155
fun beforeEach() {
5256
runBlocking {
5357
val date = LocalDateTime.of(2000, 1, 1,7,0,0) // Jan 1, 2000, 7:00:00
54-
val redPaint = PaintOrder(1, "red", 5, listOf("A", "D", "M"), date)
58+
val redPaint = PaintOrder(1, "red", 5, listOf(Vendor("A"), Vendor("D"), Vendor("M")), date)
5559
collection.insertOne(redPaint)
5660
}
5761
}
@@ -193,10 +197,10 @@ class UpdatesBuildersTest {
193197
fun addToSetUpdateTest() = runBlocking {
194198
// :snippet-start: add-to-set-update
195199
val filter = Filters.eq("_id", 1)
196-
val update = Updates.addToSet(PaintOrder::vendor.name, "C")
200+
val update = Updates.addToSet(PaintOrder::vendor.name, Vendor("C"))
197201
collection.updateOne(filter, update)
198202
// :snippet-end:
199-
assertEquals(listOf("A", "D", "M", "C"), getDocument().vendor)
203+
assertEquals(listOf(Vendor("A"), Vendor("D"), Vendor("M"), Vendor("C")), getDocument().vendor)
200204
}
201205

202206
@Test
@@ -206,37 +210,37 @@ class UpdatesBuildersTest {
206210
val update = Updates.popFirst(PaintOrder::vendor.name)
207211
collection.updateOne(filter, update)
208212
// :snippet-end:
209-
assertEquals(listOf("D", "M"), getDocument().vendor)
213+
assertEquals(listOf(Vendor("D"), Vendor("M")), getDocument().vendor)
210214
}
211215

212216
@Test
213217
fun pullAllUpdateTest() = runBlocking {
214218
// :snippet-start: pull-all-update
215219
val filter = Filters.eq("_id", 1)
216-
val update = Updates.pullAll(PaintOrder::vendor.name, listOf("A", "M"))
220+
val update = Updates.pullAll(PaintOrder::vendor.name, listOf(Vendor("A"), Vendor("M")))
217221
collection.updateOne(filter, update)
218222
// :snippet-end:
219-
assertEquals(listOf("D"), getDocument().vendor)
223+
assertEquals(listOf(Vendor("D")), getDocument().vendor)
220224
}
221225

222226
@Test
223227
fun pullUpdateTest() = runBlocking {
224228
// :snippet-start: pull-update
225229
val filter = Filters.eq("_id", 1)
226-
val update = Updates.pull(PaintOrder::vendor.name, "D")
230+
val update = Updates.pull(PaintOrder::vendor.name, Vendor("D"))
227231
collection.updateOne(filter, update)
228232
// :snippet-end:
229-
assertEquals(listOf("A", "M"), getDocument().vendor)
233+
assertEquals(listOf(Vendor("A"), Vendor("M")), getDocument().vendor)
230234
}
231235

232236
@Test
233237
fun pushUpdateTest() = runBlocking {
234238
// :snippet-start: push-update
235239
val filter = Filters.eq("_id", 1)
236-
val update = Updates.push(PaintOrder::vendor.name, "Q")
240+
val update = Updates.push(PaintOrder::vendor.name, Vendor("Q"))
237241
collection.updateOne(filter, update)
238242
// :snippet-end:
239-
assertEquals(listOf("A", "D", "M", "Q"), getDocument().vendor)
243+
assertEquals(listOf(Vendor("A"), Vendor("D"), Vendor("M"), Vendor("Q")), getDocument().vendor)
240244
}
241245

242246
@Test
@@ -246,13 +250,13 @@ class UpdatesBuildersTest {
246250
val update = Updates.combine(
247251
Updates.set(PaintOrder::color.name, "purple"),
248252
Updates.inc(PaintOrder::qty.name, 6),
249-
Updates.push(PaintOrder::vendor.name, "R")
253+
Updates.push(PaintOrder::vendor.name, Vendor("R"))
250254
)
251255
collection.updateOne(filter, update)
252256
// :snippet-end:
253257
val doc = getDocument()
254258
assertEquals("purple", doc.color)
255259
assertEquals(11, doc.qty)
256-
assertEquals(listOf("A", "D", "M", "R"), doc.vendor)
260+
assertEquals(listOf(Vendor("A"), Vendor("D"), Vendor("M"), Vendor("R")), doc.vendor)
257261
}
258262
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
val filter = Filters.eq("_id", 1)
2-
val update = Updates.addToSet(PaintOrder::vendor.name, "C")
2+
val update = Updates.addToSet(PaintOrder::vendor.name, Vendor("C"))
33
collection.updateOne(filter, update)

source/examples/generated/UpdatesBuildersTest.snippet.combine-update.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ val filter = Filters.eq("_id", 1)
22
val update = Updates.combine(
33
Updates.set(PaintOrder::color.name, "purple"),
44
Updates.inc(PaintOrder::qty.name, 6),
5-
Updates.push(PaintOrder::vendor.name, "R")
5+
Updates.push(PaintOrder::vendor.name, Vendor("R"))
66
)
77
collection.updateOne(filter, update)

source/examples/generated/UpdatesBuildersTest.snippet.example-data-class.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ data class PaintOrder (
22
@BsonId val id: Int,
33
val color: String,
44
val qty: Int?,
5-
val vendor: List<String>?,
5+
val vendor: List<Vendor>?,
66
val lastModified: LocalDateTime?
77
)
8+
9+
data class Vendor (
10+
val name: String,
11+
)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
val filter = Filters.eq("_id", 1)
2-
val update = Updates.pullAll(PaintOrder::vendor.name, listOf("A", "M"))
2+
val update = Updates.pullAll(PaintOrder::vendor.name, listOf(Vendor("A"), Vendor("M")))
33
collection.updateOne(filter, update)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
val filter = Filters.eq("_id", 1)
2-
val update = Updates.pull(PaintOrder::vendor.name, "D")
2+
val update = Updates.pull(PaintOrder::vendor.name, Vendor("D"))
33
collection.updateOne(filter, update)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
val filter = Filters.eq("_id", 1)
2-
val update = Updates.push(PaintOrder::vendor.name, "Q")
2+
val update = Updates.push(PaintOrder::vendor.name, Vendor("Q"))
33
collection.updateOne(filter, update)

0 commit comments

Comments
 (0)