/* * Copyright (C) 2008-2019, Juick * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.juick; import com.juick.util.DateFormattersHolder; import org.apache.commons.lang3.RandomUtils; import org.junit.jupiter.api.Test; import java.time.Instant; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.*; /** * Created by aalexeev on 12/7/16. */ public class FormatterTest { @Test public void forAnyDateFormatterShouldReturnNotEmptyString() { Instant ts = Instant.now(); assertThat(DateFormattersHolder.getMessageFormatterInstance().format(ts), not(emptyOrNullString())); assertThat(DateFormattersHolder.getRssFormatterInstance().format(ts), not(emptyOrNullString())); ts = Instant.ofEpochMilli(RandomUtils.nextLong(1, Long.MAX_VALUE / 10000)); assertThat(DateFormattersHolder.getMessageFormatterInstance().format(ts), not(emptyOrNullString())); assertThat(DateFormattersHolder.getRssFormatterInstance().format(ts), not(emptyOrNullString())); } @Test public void forConcreteDateShouldReturnCorrectString() { Calendar calendar = GregorianCalendar.getInstance(); calendar.set(2012, 0, 1, 0, 0, 0); calendar.setTimeZone(TimeZone.getTimeZone("UTC")); Date date = calendar.getTime(); assertThat(DateFormattersHolder.getMessageFormatterInstance().format(date.toInstant()), equalTo("2012-01-01 00:00:00")); assertThat(DateFormattersHolder.getRssFormatterInstance().format(date.toInstant()), equalTo("Sun, 1 Jan 2012 00:00:00")); assertThat(DateFormattersHolder.getHttpDateFormatter().format(date.toInstant()), equalTo("Sun, 01 Jan 2012 00:00:00 GMT")); } }