diff

Analyzes the difference between two BSON documents.

This function is particularly useful in tests. Since BSON documents can be large, it may be difficult to find what the difference between two documents is.

This function generates human-readable output to find the differences.

Example

val a = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Bob")
writeInt32("age", 18)
}
}

val b = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Alice")
writeInt32("age", 19)
}
}

println(a.reader() diff b.reader())
✓ a: "foo"
✗ b:
✗ name: "Bob"
"Alice"
✓ age: 18
19

Return

If the two documents are equal, returns null. Otherwise, generates a human-readable diff.


Analyzes the difference between two BSON arrays.

This function is particularly useful in tests. Since BSON arrays can be large, it may be difficult to find what the difference between two documents is.

This function generates human-readable output to find the differences.

Example

val a = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Bob")
writeInt32("age", 18)
}
}

val b = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Alice")
writeInt32("age", 19)
}
}

println(a.reader() diff b.reader())
✓ 0: "foo"
✗ 1:
✗ name: "Bob"
"Alice"
✓ age: 18
19

Return

If the two arrays are equal, returns null. Otherwise, generates a human-readable diff.


Analyzes the difference between two BSON values.

This function is particularly useful in tests. Since BSON documents can be large, it may be difficult to find what the difference between two documents is.

This function generates human-readable output to find the differences.

Return

If the two documents are equal, returns null. Otherwise, generates a human-readable diff.


infix fun Bson.diff(other: Bson): String?(source)

Analyzes the difference between two BSON documents.

This function is particularly useful in tests. Since BSON documents can be large, it may be difficult to find what the difference between two documents is.

This function generates human-readable output to find the differences.

Example

val a = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Bob")
writeInt32("age", 18)
}
}

val b = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Alice")
writeInt32("age", 19)
}
}

println(a diff b)
✓ a: "foo"
✗ b:
✗ name: "Bob"
"Alice"
✓ age: 18
19

Return

If the two documents are equal, returns null. Otherwise, generates a human-readable diff.


infix fun BsonArray.diff(other: BsonArray): String?(source)

Analyzes the difference between two BSON arrays.

This function is particularly useful in tests. Since BSON arrays can be large, it may be difficult to find what the difference between two documents is.

This function generates human-readable output to find the differences.

Example

val a = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Bob")
writeInt32("age", 18)
}
}

val b = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Alice")
writeInt32("age", 19)
}
}

println(a diff b)
✓ 0: "foo"
✗ 1:
✗ name: "Bob"
"Alice"
✓ age: 18
19

Return

If the two arrays are equal, returns null. Otherwise, generates a human-readable diff.