dnet-hadoop/dhp-schemas/src/test/java/eu/dnetlib/dhp/schema/oaf/MergeTest.java

89 lines
2.0 KiB
Java
Raw Normal View History

2020-04-30 11:05:17 +02:00
package eu.dnetlib.dhp.schema.oaf;
2020-03-25 17:38:58 +01:00
import static org.junit.jupiter.api.Assertions.*;
import java.util.Arrays;
import java.util.List;
2020-04-30 11:05:17 +02:00
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class MergeTest {
2020-04-30 11:05:17 +02:00
OafEntity oaf;
2020-04-30 11:05:17 +02:00
@BeforeEach
public void setUp() {
oaf = new Publication();
}
2020-04-30 11:05:17 +02:00
@Test
public void mergeListsTest() {
2020-04-30 11:05:17 +02:00
// string list merge test
List<String> a = Arrays.asList("a", "b", "c", "e");
List<String> b = Arrays.asList("a", "b", "c", "d");
List<String> c = null;
2020-04-30 11:05:17 +02:00
System.out.println("merge result 1 = " + oaf.mergeLists(a, b));
2020-04-30 11:05:17 +02:00
System.out.println("merge result 2 = " + oaf.mergeLists(a, c));
2020-04-30 11:05:17 +02:00
System.out.println("merge result 3 = " + oaf.mergeLists(c, c));
}
2020-04-30 11:05:17 +02:00
@Test
public void mergePublicationCollectedFromTest() {
2020-04-30 11:05:17 +02:00
Publication a = new Publication();
Publication b = new Publication();
2020-04-30 11:05:17 +02:00
a.setCollectedfrom(Arrays.asList(setKV("a", "open"), setKV("b", "closed")));
b.setCollectedfrom(Arrays.asList(setKV("A", "open"), setKV("b", "Open")));
2020-04-30 11:05:17 +02:00
a.mergeFrom(b);
2020-04-30 11:05:17 +02:00
assertNotNull(a.getCollectedfrom());
assertEquals(3, a.getCollectedfrom().size());
}
2020-04-30 11:05:17 +02:00
@Test
public void mergePublicationSubjectTest() {
2020-04-30 11:05:17 +02:00
Publication a = new Publication();
Publication b = new Publication();
2020-04-30 11:05:17 +02:00
a.setSubject(Arrays.asList(setSP("a", "open", "classe"), setSP("b", "open", "classe")));
b.setSubject(Arrays.asList(setSP("A", "open", "classe"), setSP("c", "open", "classe")));
2020-04-30 11:05:17 +02:00
a.mergeFrom(b);
2020-04-30 11:05:17 +02:00
assertNotNull(a.getSubject());
assertEquals(3, a.getSubject().size());
}
2020-04-30 11:05:17 +02:00
private KeyValue setKV(final String key, final String value) {
2020-04-30 11:05:17 +02:00
KeyValue k = new KeyValue();
2020-04-30 11:05:17 +02:00
k.setKey(key);
k.setValue(value);
2020-04-30 11:05:17 +02:00
return k;
}
2020-04-30 11:05:17 +02:00
private StructuredProperty setSP(
final String value, final String schema, final String classname) {
StructuredProperty s = new StructuredProperty();
s.setValue(value);
Qualifier q = new Qualifier();
q.setClassname(classname);
q.setClassid(classname);
q.setSchemename(schema);
q.setSchemeid(schema);
s.setQualifier(q);
return s;
}
}