Skip to content
Snippets Groups Projects
XMLSerializerDatabaseTest.kt 1.34 KiB
Newer Older
npedot's avatar
npedot committed
package unibz.cs.semint.kprime.usecase.serialize

import org.junit.Assert
import org.junit.Test
import org.xmlunit.builder.DiffBuilder
import unibz.cs.semint.kprime.adapter.service.XMLSerializerJacksonAdapter
npedot's avatar
npedot committed
import unibz.cs.semint.kprime.domain.Database
import unibz.cs.semint.kprime.domain.Schema
import unibz.cs.semint.kprime.domain.Table
import unibz.cs.semint.kprime.usecase.XMLSerializeUseCase
import java.io.File

class XMLSerializerDatabaseTest {

    @Test
    fun test_database_serialize_with_two_empty_tables() {
        // given
        val serializer = XMLSerializeUseCase(XMLSerializerJacksonAdapter())
        val database = Database()
        database.id="iddb"
        database.name="dbname"
        database.schema= Schema()
        database.schema.id="idschema"
        database.schema.tables.add(Table())
        database.schema.tables.add(Table())
        // when
        val serializedDatabase = serializer.serializeDatabase(database).ok
        // then
        val fileContent = File("target/test-classes/database_with_two_empty_tables.xml")
            .readLines().joinToString(System.lineSeparator())

        val myDiff = DiffBuilder.compare(serializedDatabase)
            .ignoreWhitespace()
            .withTest(fileContent)
            .checkForSimilar().build()
        Assert.assertFalse(myDiff.toString(), myDiff.hasDifferences());
    }


}