001/*
002 * The contents of this file are subject to the license and copyright
003 * detailed in the LICENSE and NOTICE files at the root of the source
004 * tree.
005 */
006import org.fcrepo.search.impl.InstantParser;
007import org.junit.Test;
008
009import static org.junit.Assert.assertEquals;
010
011/**
012 * @author dbernstein
013 */
014public class InstantParserTest {
015    @Test
016    public void test() {
017        assertEquals("2020-01-01T00:00:00Z", InstantParser.parse("2020-01-01").toString());
018        assertEquals("2020-01-01T00:00:00Z", InstantParser.parse("20200101").toString());
019        assertEquals("2020-01-01T00:00:00Z", InstantParser.parse("2020-01-01T00:00:00Z").toString());
020        assertEquals("2020-01-01T00:00:00Z", InstantParser.parse("2020-01-01 00:00:00").toString());
021        assertEquals("2020-01-01T00:00:00Z", InstantParser.parse("20200101 00:00:00").toString());
022        assertEquals("2020-01-01T07:00:00Z", InstantParser.parse("2020-01-01T00:00:00-07:00").toString());
023        assertEquals("2020-01-01T00:00:00Z", InstantParser.parse("20200101 00:00:00").toString());
024        assertEquals("2020-01-01T00:00:00Z", InstantParser.parse("Wed, 1 Jan 2020 00:00:00 GMT").toString());
025    }
026
027    @Test(expected = IllegalArgumentException.class)
028    public void testInvalidString() {
029        InstantParser.parse("2020-01-01 24").toString();
030    }
031}