in prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/ContentPartsBuilderTest.kt [90:145]
fun testAddMultipleAttachments() {
val audioData = byteArrayOf(1, 2, 3, 4, 5)
val imageData = byteArrayOf(10, 20, 30, 40, 50)
val documentData = byteArrayOf(60, 70, 80, 90, 100)
val result = ContentPartsBuilder().apply {
image(
ContentPart.Image(
content = AttachmentContent.Binary.Bytes(imageData),
format = "jpg",
fileName = "photo.jpg"
)
)
audio(
ContentPart.Audio(
content = AttachmentContent.Binary.Bytes(audioData),
format = "wav",
fileName = "audio.wav"
)
)
file(
ContentPart.File(
content = AttachmentContent.Binary.Bytes(documentData),
format = "pdf",
mimeType = "application/pdf",
fileName = "document.pdf"
)
)
}.build()
assertEquals(3, result.size, "Should contain three attachments")
assertEquals(
ContentPart.Image(
content = AttachmentContent.Binary.Bytes(imageData),
format = "jpg",
fileName = "photo.jpg"
),
result[0]
)
assertEquals(
ContentPart.Audio(
content = AttachmentContent.Binary.Bytes(audioData),
format = "wav",
fileName = "audio.wav"
),
result[1]
)
assertEquals(
ContentPart.File(
content = AttachmentContent.Binary.Bytes(documentData),
format = "pdf",
mimeType = "application/pdf",
fileName = "document.pdf"
),
result[2]
)
}