package com.hubspot.jinjava.objects.date; import static org.assertj.core.api.Assertions.assertThat; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.util.Date; import org.junit.Test; public class PyishDateTest { @Test public void itUsesCurrentTimeWhenNoneProvided() { PyishDate d = new PyishDate((Long) null); assertThat(d.toDate()).isCloseTo(new Date(), 10000); } @Test public void testStrfmt() { PyishDate d = new PyishDate(ZonedDateTime.parse("2013-11-12T14:15:00+00:00")); assertThat(d.strftime("%m %d %y")).isEqualTo("11 12 13"); } @Test public void testIsoformat() { PyishDate d = new PyishDate(ZonedDateTime.parse("2015-05-13T12:00:00+00:00")); assertThat(d.isoformat()).isEqualTo("2015-05-13"); } @Test public void testEquals() { PyishDate d1 = new PyishDate(ZonedDateTime.parse("2013-11-12T14:15:00+00:00")); PyishDate d2 = new PyishDate(ZonedDateTime.parse("2013-11-12T14:15:00+00:00")); assertThat(d1).isEqualTo(d2); } @Test public void testNotEquals() { PyishDate d1 = new PyishDate(ZonedDateTime.parse("2013-11-12T14:15:00+00:00")); PyishDate d2 = new PyishDate(ZonedDateTime.now(ZoneOffset.UTC)); assertThat(d1).isNotEqualTo(d2); } @Test(expected = NullPointerException.class) public void testNullDateNotAllowed() { new PyishDate((Date) null); } @Test(expected = NullPointerException.class) public void testNullDateTimeNotAllowed() { new PyishDate((ZonedDateTime) null); } @Test(expected = NullPointerException.class) public void testNullStringNotAllowed() { new PyishDate((String) null); } }