Newer
Older
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
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());
}
}