001/* 002 * Copyright 2020 Global Biodiversity Information Facility (GBIF) 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.gbif.api.model.registry; 017 018import org.junit.jupiter.api.Test; 019 020import static org.junit.jupiter.api.Assertions.assertEquals; 021import static org.junit.jupiter.api.Assertions.assertNotNull; 022import static org.junit.jupiter.api.Assertions.assertTrue; 023 024public class ContactTest { 025 026 @Test 027 public void testUserId() { 028 Contact c = new Contact(); 029 030 c.addUserId(null, null); 031 assertNotNull(c.getUserId()); 032 assertTrue(c.getUserId().isEmpty()); 033 034 c.addUserId(null, "3421423"); 035 assertEquals("3421423", c.getUserId().get(0)); 036 037 c.addUserId("", "3421423"); 038 assertEquals("3421423", c.getUserId().get(1)); 039 040 // Directory prefix absent from the id. 041 c.addUserId("gbif", "3421423"); 042 assertEquals("gbif:3421423", c.getUserId().get(2)); 043 044 c.addUserId("http://orcid.org/", "3421423"); 045 assertEquals("http://orcid.org/3421423", c.getUserId().get(3)); 046 047 c.addUserId("http://orcid.org", "3421423"); 048 assertEquals("http://orcid.org/3421423", c.getUserId().get(4)); 049 050 c.addUserId("http://orcid.org", "de/12-3421423"); 051 assertEquals("http://orcid.org/de/12-3421423", c.getUserId().get(5)); 052 053 c.addUserId("https://scholar.google.com/citations?user=", "jvW0IrIAAAAJ"); 054 assertEquals("https://scholar.google.com/citations?user=jvW0IrIAAAAJ", c.getUserId().get(6)); 055 056 c.addUserId("https://www.linkedin.com/in/", "john-smith-12345"); 057 assertEquals("https://www.linkedin.com/in/john-smith-12345", c.getUserId().get(7)); 058 059 c.addUserId("https://www.linkedin.com/profile/view?id=", "AAkAAABiOnwBeoX3a3wKqe4IEqDkJ_ifoVj1234"); 060 assertEquals("https://www.linkedin.com/profile/view?id=AAkAAABiOnwBeoX3a3wKqe4IEqDkJ_ifoVj1234", c.getUserId().get(8)); 061 062 c.addUserId(", ,", ", ,"); 063 assertEquals(", ,", c.getUserId().get(9)); 064 065 // Directory prefix included in the id 066 c.addUserId("gbif", "gbif:105539"); 067 assertEquals("gbif:105539", c.getUserId().get(10)); 068 069 c.addUserId("http://orcid.org/", "http://orcid.org/0000-0003-0623-6682"); 070 assertEquals("http://orcid.org/0000-0003-0623-6682", c.getUserId().get(11)); 071 072 c.addUserId("http://orcid.org", "http://orcid.org/0000-0003-0623-6682"); 073 assertEquals("http://orcid.org/0000-0003-0623-6682", c.getUserId().get(12)); 074 075 c.addUserId("https://orcid.org", "http://orcid.org/0000-0003-0623-6682"); 076 assertEquals("http://orcid.org/0000-0003-0623-6682", c.getUserId().get(13)); 077 078 c.addUserId("http://orcid.org", "https://orcid.org/0000-0003-0623-6682"); 079 assertEquals("https://orcid.org/0000-0003-0623-6682", c.getUserId().get(14)); 080 081 c.addUserId("http://orcid.org", "orcid.org/0000-0003-0623-6682"); 082 assertEquals("http://orcid.org/0000-0003-0623-6682", c.getUserId().get(15)); 083 084 c.addUserId("https://orcid.org", "orcid.org/0000-0003-0623-6682"); 085 assertEquals("https://orcid.org/0000-0003-0623-6682", c.getUserId().get(16)); 086 087 c.addUserId("https://scholar.google.com/citations?user=", "https://scholar.google.com/citations?user=jvW0IrIAAAAJ"); 088 assertEquals("https://scholar.google.com/citations?user=jvW0IrIAAAAJ", c.getUserId().get(17)); 089 090 // Just to check this test is written correctly. 091 assertEquals(18, c.getUserId().size()); 092 } 093 094 @Test 095 public void testGetCompleteName() { 096 Contact c = new Contact(); 097 assertEquals("", c.computeCompleteName()); 098 099 c.setFirstName("FirstName "); 100 assertEquals("FirstName", c.computeCompleteName()); 101 102 c.setLastName("LastName"); 103 assertEquals("FirstName LastName", c.computeCompleteName()); 104 105 c.setFirstName(" "); 106 assertEquals("LastName", c.computeCompleteName()); 107 } 108}