Skip to content

Commit 0f6fc5b

Browse files
committed
Adding more unit tests
1 parent af59781 commit 0f6fc5b

File tree

1 file changed

+127
-0
lines changed

1 file changed

+127
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
package org.orcid.core.model;
2+
3+
import java.io.InputStream;
4+
import java.io.StringWriter;
5+
import java.util.ArrayList;
6+
7+
import javax.xml.bind.JAXBContext;
8+
import javax.xml.bind.JAXBException;
9+
import javax.xml.bind.Marshaller;
10+
11+
import org.junit.Test;
12+
import org.orcid.jaxb.model.v3.release.common.CreatedDate;
13+
import org.orcid.jaxb.model.v3.release.common.Day;
14+
import org.orcid.jaxb.model.v3.release.common.FuzzyDate;
15+
import org.orcid.jaxb.model.v3.release.common.LastModifiedDate;
16+
import org.orcid.jaxb.model.v3.release.common.Month;
17+
import org.orcid.jaxb.model.v3.release.common.OrcidIdentifier;
18+
import org.orcid.jaxb.model.v3.release.common.Year;
19+
import org.orcid.jaxb.model.v3.release.record.Work;
20+
import org.orcid.utils.DateUtils;
21+
22+
public class RecordSummaryMarshallingTest {
23+
24+
@Test
25+
public void marshallingTest() throws JAXBException {
26+
JAXBContext context = JAXBContext.newInstance(new Class[] { RecordSummary.class });
27+
Marshaller marshaller = context.createMarshaller();
28+
String name = "/summary_3.0/samples/summary-3.0.xml";
29+
InputStream inputStream = getClass().getResourceAsStream(name);
30+
31+
32+
33+
RecordSummary recordSummary = getRecordSummary();
34+
StringWriter stringWriter = new StringWriter();
35+
marshaller.marshal(recordSummary, stringWriter);
36+
System.out.println(stringWriter.toString());
37+
38+
39+
}
40+
41+
private RecordSummary getRecordSummary() {
42+
RecordSummary record = new RecordSummary();
43+
record.setCreatedDate(new CreatedDate(DateUtils.convertToXMLGregorianCalendar("2024-01-01T12:00:00")));
44+
record.setLastModifiedDate(new LastModifiedDate(DateUtils.convertToXMLGregorianCalendar("2024-01-01T12:00:00")));
45+
record.setCreditName("User credited name");
46+
OrcidIdentifier oid = new OrcidIdentifier();
47+
oid.setHost("orcid.org");
48+
oid.setPath("8888-8888-8888-8880");
49+
oid.setUri("https://orcid.org/8888-8888-8888-8880");
50+
record.setOrcidIdentifier(oid);
51+
ExternalIdentifiers externalIdentifiers = new ExternalIdentifiers();
52+
externalIdentifiers.setExternalIdentifiers(new ArrayList<>());
53+
externalIdentifiers.getExternalIdentifiers().add(getExternalIdentifier("Scopus", 1, true));
54+
externalIdentifiers.getExternalIdentifiers().add(getExternalIdentifier("ResearcherID", 2, true));
55+
externalIdentifiers.getExternalIdentifiers().add(getExternalIdentifier("Other", 3, true));
56+
57+
// Set the external identifiers
58+
record.setExternalIdentifiers(externalIdentifiers);
59+
60+
Employments employments = new Employments();
61+
employments.setCount(5);
62+
employments.setEmployments(new ArrayList<>());
63+
employments.getEmployments().add((Employment) getProfessionalActivity(1, "Org # 1", "Fake role title", "https://www.ipp.pt/", null, false));
64+
employments.getEmployments().add((Employment) getProfessionalActivity(2, "Org # 2", "Fake role title 2", "https://www.ipp.pt/2", null, false));
65+
employments.getEmployments().add((Employment) getProfessionalActivity(3, "Org # 3", "Fake role title 3", "https://www.ipp.pt/3", null, true));
66+
67+
// Set the employments
68+
record.setEmployments(employments);
69+
70+
ProfessionalActivities professionalActivities = new ProfessionalActivities();
71+
professionalActivities.setCount(5);
72+
professionalActivities.setProfessionalActivities(new ArrayList<>());
73+
professionalActivities.getProfessionalActivities().add(getProfessionalActivity(1, "Org # 1", "Fake role title", "https://www.ipp.pt/", "distinction", false));
74+
75+
// Set the professional activities
76+
record.setProfessionalActivities(professionalActivities);
77+
78+
Fundings fundings = new Fundings();
79+
fundings.setSelfAssertedCount(0);
80+
fundings.setValidatedCount(1);
81+
record.setFundings(fundings);
82+
83+
Works works = new Works();
84+
works.setSelfAssertedCount(0);
85+
works.setValidatedCount(1);
86+
record.setWorks(works);
87+
88+
PeerReviews peerReviews = new PeerReviews();
89+
peerReviews.setPeerReviewPublicationGrants(6);
90+
peerReviews.setSelfAssertedCount(0);
91+
peerReviews.setTotal(6);
92+
record.setPeerReviews(peerReviews);
93+
94+
return record;
95+
}
96+
97+
private ExternalIdentifier getExternalIdentifier(String type, int putCode, boolean validated) {
98+
ExternalIdentifier ei1 = new ExternalIdentifier();
99+
ei1.setPutCode(Long.valueOf(putCode));
100+
ei1.setExternalIdType(type);
101+
ei1.setExternalIdValue(String.valueOf(putCode));
102+
ei1.setExternalIdUrl("https://example.com/" + putCode);
103+
ei1.setValidated(validated);
104+
return ei1;
105+
}
106+
107+
private ProfessionalActivity getProfessionalActivity(int putCode, String role, String org, String url, String type, boolean validated) {
108+
ProfessionalActivity pa = new ProfessionalActivity();
109+
pa.setPutCode(Long.valueOf(putCode));
110+
pa.setEndDate(getEndDate());
111+
pa.setStartDate(getStartDate());
112+
pa.setOrganizationName(org);
113+
pa.setRole(role);
114+
pa.setUrl(url);
115+
pa.setValidated(validated);
116+
pa.setType(type);
117+
return pa;
118+
}
119+
120+
private FuzzyDate getEndDate() {
121+
return new FuzzyDate(new Year(2024), new Month(12), new Day(31));
122+
}
123+
124+
private FuzzyDate getStartDate() {
125+
return new FuzzyDate(new Year(2020), new Month(1), new Day(1));
126+
}
127+
}

0 commit comments

Comments
 (0)