package eu.dnetlib.wds.utils;

import static org.junit.Assert.*;

import org.junit.Test;

public class WDSUtilsTest {


    @Test
    public void testNamespacePrefix() {

        final String input = "AMNH/CBC";

        String generatedNS = WDSUtils.generateWDSNsPrefix("AMNH/CBC", "cmr_", 12);
        assert generatedNS != null;
        assertEquals(generatedNS.length(), 12);

        System.out.println("generatedNS = " + generatedNS);
        generatedNS = WDSUtils.generateWDSNsPrefix("AM", "cmr___", 12);
        assert generatedNS != null;
        assertEquals(generatedNS.length(), 12);
        System.out.println("generatedNS = " + generatedNS);

        generatedNS = WDSUtils.generateWDSNsPrefix("AMNH/CBC123345567888989", "cmr____", 12);
        assert generatedNS != null;
        assertEquals(generatedNS.length(), 12);
        System.out.println("generatedNS = " + generatedNS);


    }

    @Test
    public void testPID(){
        final String pid = "http://doi.org/10.3886/ICPSR09700.v1";
        String obtained_pid = WDSUtils.getDOI(pid);
        assert obtained_pid != "";
        assertEquals(obtained_pid,"10.3886/ICPSR09700.v1");
    }

    @Test
    public void testDate(){
        String aDate = "1995-01-20T14:45:15Z";
        boolean date = WDSUtils.isDate(aDate);
        assertEquals(date,true);

        aDate = "2015-23";
        date = WDSUtils.isDate(aDate);
        assertEquals(date,true);

        aDate = "2015-23--2015-23";
        date = WDSUtils.isDate(aDate);
        assertEquals(date,true);

        aDate = "2015--2017";
        date = WDSUtils.isDate(aDate);
        assertEquals(date,true);


        aDate = "Georgia";
        date = WDSUtils.isDate(aDate);
        assertEquals(date,false);


        aDate = "22adafs";
        date = WDSUtils.isDate(aDate);
        assertEquals(date,false);


    }
}
