package com.anjlab.ping.entities; import static junit.framework.Assert.assertEquals; import org.junit.Test; import com.anjlab.ping.services.Utils; public class TestUtils { @Test public void testFormatTime() { assertEquals("0 minutes", Utils.formatMinutesToWordsUpToMinutes(0)); assertEquals("1 minute", Utils.formatMinutesToWordsUpToMinutes(1)); assertEquals("10 minutes", Utils.formatMinutesToWordsUpToMinutes(10)); assertEquals("1 hour 1 minute", Utils.formatMinutesToWordsUpToMinutes(61)); assertEquals("10 hours 2 minutes", Utils.formatMinutesToWordsUpToMinutes(10*60 + 2)); assertEquals("11 hours", Utils.formatMinutesToWordsUpToMinutes(11*60)); assertEquals("1 day 1 minute", Utils.formatMinutesToWordsUpToMinutes(24*60 + 1)); assertEquals("1 day 1 hour", Utils.formatMinutesToWordsUpToMinutes(25*60)); assertEquals("1 day 1 hour", Utils.formatMinutesToWordsUpToMinutes(25*60)); assertEquals("2 days", Utils.formatMinutesToWordsUpToMinutes(2*24*60)); assertEquals("1 month", Utils.formatMinutesToWordsUpToMinutes(30*24*60)); assertEquals("2 months", Utils.formatMinutesToWordsUpToMinutes(2*30*24*60)); assertEquals("1 year", Utils.formatMinutesToWordsUpToMinutes(365*24*60)); assertEquals("2 years", Utils.formatMinutesToWordsUpToMinutes(2*365*24*60)); assertEquals("2 years 5 minutes", Utils.formatMinutesToWordsUpToMinutes(2*365*24*60 + 5)); } @Test public void testFormatTime2() { assertEquals("A moment", Utils.formatMillisecondsToWordsUpToDays(0)); assertEquals("Less than a day", Utils.formatMillisecondsToWordsUpToDays(1 * 1000)); assertEquals("Less than a day", Utils.formatMillisecondsToWordsUpToDays(10 * 1000)); assertEquals("Less than a day", Utils.formatMillisecondsToWordsUpToDays(61 * 1000)); assertEquals("Less than a day", Utils.formatMillisecondsToWordsUpToDays(10*60 * 1000 + 2)); assertEquals("Less than a day", Utils.formatMillisecondsToWordsUpToDays(11*60 * 1000)); assertEquals("1 day", Utils.formatMillisecondsToWordsUpToDays(24*60*60*1000 + 1)); assertEquals("1 day", Utils.formatMillisecondsToWordsUpToDays(25*60*60*1000)); assertEquals("1 day", Utils.formatMillisecondsToWordsUpToDays(25*60*60*1000)); assertEquals("2 days", Utils.formatMillisecondsToWordsUpToDays(2*24*60*60*1000)); assertEquals("1 month", Utils.formatMillisecondsToWordsUpToDays(30*24*60*60*1000L)); assertEquals("2 months", Utils.formatMillisecondsToWordsUpToDays(2*30*24*60*60*1000L)); assertEquals("1 year", Utils.formatMillisecondsToWordsUpToDays(365*24*60*60*1000L)); assertEquals("2 years", Utils.formatMillisecondsToWordsUpToDays(2*365*24*60*60*1000L)); assertEquals("2 years", Utils.formatMillisecondsToWordsUpToDays(2*365*24*60*60*1000L + 5)); } @Test public void testUpToMajorUnits() { assertEquals("11 hours", Utils.formatMillisecondsToWordsUpToMajorUnits(40197537)); // 11.51 hours should be rounded up to 12 hours assertEquals("12 hours", Utils.formatMillisecondsToWordsUpToMajorUnits(41497537)); } }