//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.annotators.regex; import org.junit.Test; import uk.gov.dstl.baleen.annotators.regex.TimeQuantity; import uk.gov.dstl.baleen.annotators.testing.AbstractAnnotatorTest; import uk.gov.dstl.baleen.annotators.testing.types.TestQuantity; import uk.gov.dstl.baleen.types.common.Quantity; /** * Tests for {@link TimeQuantity}. * * */ public class TimeQuantityTest extends AbstractAnnotatorTest { public TimeQuantityTest() { super(TimeQuantity.class); } @Test public void testYear() throws Exception { jCas.setDocumentText("6 years later"); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "6 years", 6, "year", 189216000, "s", "time")); } @Test public void testMonth() throws Exception { jCas.setDocumentText("In 18 months"); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "18 months", 18, "month", 0, null, "time")); } @Test public void testWeek() throws Exception { jCas.setDocumentText("In the next 2 weeks"); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "2 weeks", 2, "week", 1209600, "s", "time")); } @Test public void testDays() throws Exception { jCas.setDocumentText("460 days after the event"); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "460 days", 460, "day", 39744000, "s", "time")); } @Test public void testHours() throws Exception { jCas.setDocumentText("Only 2 hours to go..."); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "2 hours", 2, "hour", 7200, "s", "time")); } @Test public void testHoursTime() throws Exception { jCas.setDocumentText("At 2200hrs, things will happen... But they'll be over by 0200hrs"); processJCas(); assertAnnotations(0, Quantity.class); } @Test public void testMinutes() throws Exception { jCas.setDocumentText("27 minutes until it happens"); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "27 minutes", 27, "minute", 1620, "s", "time")); } @Test public void testSeconds() throws Exception { jCas.setDocumentText("In 30 seconds time"); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "30 seconds", 30, "s", 30, "s", "time")); } @Test public void testPunctuation() throws Exception { jCas.setDocumentText("There are 86,400 seconds in a day."); processJCas(); assertAnnotations(1, Quantity.class, new TestQuantity(0, "86,400 seconds", 86400, "s", 86400, "s", "time")); } }