86 lines
3.0 KiB
Scala
86 lines
3.0 KiB
Scala
package eu.dnetlib.dhp.collection.mag
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper
|
|
import eu.dnetlib.dhp.schema.oaf.{Dataset, Publication, Result}
|
|
import org.apache.spark.sql.SparkSession
|
|
import org.junit.jupiter.api.Assertions._
|
|
import org.junit.jupiter.api.Test
|
|
|
|
class MAGMappingTest {
|
|
|
|
val mapper = new ObjectMapper()
|
|
|
|
|
|
def mappingTest(): Unit = {
|
|
|
|
val spark = SparkSession
|
|
.builder()
|
|
.appName("Test")
|
|
.master("local[*]")
|
|
.getOrCreate()
|
|
|
|
val s = new SparkMagOrganizationAS(null, null, null)
|
|
|
|
s.generateAS(spark, "/home/sandro/Downloads/mag_test", "/home/sandro/Downloads/mag_AS")
|
|
|
|
}
|
|
|
|
@Test
|
|
def mappingMagType(): Unit = {
|
|
|
|
checkResult[Publication](MagUtility.createResultFromType(null, null), invisible = false, "Other literature type")
|
|
checkResult[Publication](
|
|
MagUtility.createResultFromType(Some("BookChapter"), null),
|
|
invisible = false,
|
|
"Part of book or chapter of book"
|
|
)
|
|
checkResult[Publication](MagUtility.createResultFromType(Some("Book"), null), invisible = false, "Book")
|
|
checkResult[Publication](
|
|
MagUtility.createResultFromType(Some("Repository"), null),
|
|
invisible = true,
|
|
"Other literature type"
|
|
)
|
|
checkResult[Publication](MagUtility.createResultFromType(Some("Thesis"), null), invisible = false, "Thesis")
|
|
checkResult[Publication](MagUtility.createResultFromType(Some("Conference"), null), invisible = false, "Article")
|
|
checkResult[Publication](MagUtility.createResultFromType(Some("Journal"), null), invisible = false, "Journal")
|
|
checkResult[Dataset](MagUtility.createResultFromType(Some("Dataset"), null), invisible = false, "Dataset")
|
|
checkResult[Publication](
|
|
MagUtility.createResultFromType(Some("Patent"), Some("Patent Department of the Navy")),
|
|
invisible = false,
|
|
"Patent"
|
|
)
|
|
checkResult[Publication](
|
|
MagUtility.createResultFromType(Some("Patent"), Some("Brevet Department of the Navy")),
|
|
invisible = false,
|
|
"Patent"
|
|
)
|
|
checkResult[Publication](
|
|
MagUtility.createResultFromType(Some("Patent"), Some("Journal of the Navy")),
|
|
invisible = false,
|
|
"Journal"
|
|
)
|
|
checkResult[Publication](
|
|
MagUtility.createResultFromType(Some("Patent"), Some("Proceedings of the Navy")),
|
|
invisible = false,
|
|
"Article"
|
|
)
|
|
checkResult[Dataset](MagUtility.createResultFromType(Some("Dataset"), null), invisible = false, "Dataset")
|
|
assertNull(MagUtility.createResultFromType(Some("Patent"), null))
|
|
assertNull(MagUtility.createResultFromType(Some("Patent"), Some("Some name ")))
|
|
}
|
|
|
|
def checkResult[T](r: Result, invisible: Boolean, typeName: String): Unit = {
|
|
|
|
assertNotNull(r)
|
|
assertTrue(r.isInstanceOf[T])
|
|
assertNotNull(r.getDataInfo)
|
|
assertEquals(invisible, r.getDataInfo.getInvisible)
|
|
assertNotNull(r.getInstance())
|
|
assertTrue(r.getInstance().size() > 0)
|
|
assertNotNull(r.getInstance().get(0).getInstancetype)
|
|
assertEquals(typeName, r.getInstance().get(0).getInstancetype.getClassname)
|
|
|
|
}
|
|
|
|
}
|