fun testAddMultipleAttachments()

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]
        )
    }