From 6e29ad1dfe9b353af1c41a30101673bf01d7a144 Mon Sep 17 00:00:00 2001 From: Varun Shah Date: Thu, 21 Nov 2019 13:41:05 -0800 Subject: Fix day of year value in RecurrenceProcessor. RecurrenceProcessor#yearDay was returning incorrectly for July 1st due to a wrong hard-coded value. Updating it to the correct value and adding some unit tests for the function. Bug: 111972497 Test: atest com.android.calendarcommon2.RecurrenceProcessorTest#testYearDay Change-Id: If468db15d0f66ca059460fbf09d360360cfe8cdd --- .../calendarcommon2/RecurrenceProcessorTest.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests/src/com/android') diff --git a/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java b/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java index af850f8..3503aae 100644 --- a/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java +++ b/tests/src/com/android/calendarcommon2/RecurrenceProcessorTest.java @@ -2534,4 +2534,30 @@ public class RecurrenceProcessorTest extends TestCase { Log.i(TAG, "date: " + date.format2445()); Log.i(TAG, "testPerformanceNormalize() unsafeNormalize() elapsed millis: " + elapsed); } + + @SmallTest + public void testYearDay() { + assertEquals(181, RecurrenceProcessor.yearDay(2019, 6, 1)); + + /* compare day of year in non leap year (2019) to leap year (2020). */ + + // january 1 + assertEquals(0, RecurrenceProcessor.yearDay(2019, 0, 1)); + assertEquals(0, RecurrenceProcessor.yearDay(2020, 0, 1)); + + // february 28 + assertEquals(58, RecurrenceProcessor.yearDay(2019, 1, 28)); + assertEquals(58, RecurrenceProcessor.yearDay(2020, 1, 28)); + + // february 29 + assertEquals(59, RecurrenceProcessor.yearDay(2020, 1, 29)); + + // march 1 + assertEquals(59, RecurrenceProcessor.yearDay(2019, 2, 1)); + assertEquals(60, RecurrenceProcessor.yearDay(2020, 2, 1)); + + // december 31 + assertEquals(364, RecurrenceProcessor.yearDay(2019, 11, 31)); + assertEquals(365, RecurrenceProcessor.yearDay(2020, 11, 31)); + } } -- cgit v1.2.3