From 5fbc2f635aa96550d68d04bb012160ad4893af8c Mon Sep 17 00:00:00 2001 From: Ondrej Ruttkay Date: Fri, 15 Nov 2024 12:37:10 +0100 Subject: [PATCH] Rename the tab counting method for better understanding --- .../app/tabs/model/TabDataRepositoryTest.kt | 16 +++--- .../app/tabs/store/TabStatsBucketingTest.kt | 50 +++++++++---------- .../app/tabs/model/TabDataRepository.kt | 2 +- .../app/tabs/store/TabStatsBucketing.kt | 8 +-- .../app/tabs/model/TabRepository.kt | 2 +- 5 files changed, 39 insertions(+), 39 deletions(-) diff --git a/app/src/androidTest/java/com/duckduckgo/app/tabs/model/TabDataRepositoryTest.kt b/app/src/androidTest/java/com/duckduckgo/app/tabs/model/TabDataRepositoryTest.kt index a501531c540e..514ebe75a2c4 100644 --- a/app/src/androidTest/java/com/duckduckgo/app/tabs/model/TabDataRepositoryTest.kt +++ b/app/src/androidTest/java/com/duckduckgo/app/tabs/model/TabDataRepositoryTest.kt @@ -446,7 +446,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(emptyList()) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(0, 7) + val inactiveTabCount = testee.countTabsAccessedWithinRange(0, 7) // Assert: Verify the count is zero assertEquals(0, inactiveTabCount) @@ -459,7 +459,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(listOf(tab1)) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(0, 7) + val inactiveTabCount = testee.countTabsAccessedWithinRange(0, 7) // Assert: Verify the count is zero assertEquals(0, inactiveTabCount) @@ -476,7 +476,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(listOf(tab1, tab2, tab3, tab4)) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(0, 9) + val inactiveTabCount = testee.countTabsAccessedWithinRange(0, 9) // Assert: Verify the count is 2 assertEquals(2, inactiveTabCount) @@ -488,7 +488,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(emptyList()) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(7, 12) + val inactiveTabCount = testee.countTabsAccessedWithinRange(7, 12) // Assert: Verify the count is zero assertEquals(0, inactiveTabCount) @@ -505,7 +505,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(listOf(tab1, tab2, tab3, tab4)) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(9) + val inactiveTabCount = testee.countTabsAccessedWithinRange(9) // Assert: Verify the count is correct assertEquals(2, inactiveTabCount) @@ -522,7 +522,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(listOf(tab1, tab2, tab3, tab4)) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(7, 12) + val inactiveTabCount = testee.countTabsAccessedWithinRange(7, 12) // Assert: Verify the count is correct assertEquals(3, inactiveTabCount) @@ -539,7 +539,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(listOf(tab1, tab2, tab3, tab4)) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(7, 12) + val inactiveTabCount = testee.countTabsAccessedWithinRange(7, 12) // Assert: Verify the count is zero assertEquals(0, inactiveTabCount) @@ -556,7 +556,7 @@ class TabDataRepositoryTest { whenever(mockDao.tabs()).thenReturn(listOf(tab1, tab2, tab3, tab4)) val testee = tabDataRepository() - val inactiveTabCount = testee.countTabsWithinDayRange(7, 12) + val inactiveTabCount = testee.countTabsAccessedWithinRange(7, 12) // Assert: Verify the count is correct assertEquals(1, inactiveTabCount) diff --git a/app/src/androidTest/java/com/duckduckgo/app/tabs/store/TabStatsBucketingTest.kt b/app/src/androidTest/java/com/duckduckgo/app/tabs/store/TabStatsBucketingTest.kt index d1b5e2149d98..b00b72052e66 100644 --- a/app/src/androidTest/java/com/duckduckgo/app/tabs/store/TabStatsBucketingTest.kt +++ b/app/src/androidTest/java/com/duckduckgo/app/tabs/store/TabStatsBucketingTest.kt @@ -134,175 +134,175 @@ class DefaultTabStatsBucketingTest { @Test fun testGet7DaysActiveTabBucketZero() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(0) + whenever(tabRepository.countTabsAccessedWithinRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(0) val result = defaultTabStatsBucketing.get7DaysActiveTabBucket() assertEquals("0", result) } @Test fun testGet7DaysActiveTabBucketExactly1() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(1) + whenever(tabRepository.countTabsAccessedWithinRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(1) val result = defaultTabStatsBucketing.get7DaysActiveTabBucket() assertEquals("1-5", result) } @Test fun testGet7DaysActiveTabBucket1To5() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(2) + whenever(tabRepository.countTabsAccessedWithinRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(2) val result = defaultTabStatsBucketing.get7DaysActiveTabBucket() assertEquals("1-5", result) } @Test fun testGet7DaysActiveTabBucket6To10() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(10) + whenever(tabRepository.countTabsAccessedWithinRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(10) val result = defaultTabStatsBucketing.get7DaysActiveTabBucket() assertEquals("6-10", result) } @Test fun testGet7DaysActiveTabBucket11To20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(15) + whenever(tabRepository.countTabsAccessedWithinRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(15) val result = defaultTabStatsBucketing.get7DaysActiveTabBucket() assertEquals("11-20", result) } @Test fun testGet7DaysActiveTabBucketMoreThan20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(25) + whenever(tabRepository.countTabsAccessedWithinRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(25) val result = defaultTabStatsBucketing.get7DaysActiveTabBucket() assertEquals("21+", result) } @Test fun testGet7DaysActiveTabBucketALotMoreThan20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(250) + whenever(tabRepository.countTabsAccessedWithinRange(0, TabStatsBucketing.ONE_WEEK_IN_DAYS)).thenReturn(250) val result = defaultTabStatsBucketing.get7DaysActiveTabBucket() assertEquals("21+", result) } @Test fun testGet1WeeksInactiveTabBucketZero() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(0) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(0) val result = defaultTabStatsBucketing.get1WeeksInactiveTabBucket() assertEquals("0", result) } @Test fun testGet1WeeksInactiveTabBucketExactly1() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(1) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(1) val result = defaultTabStatsBucketing.get1WeeksInactiveTabBucket() assertEquals("1-5", result) } @Test fun testGet1WeeksInactiveTabBucket1To5() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(3) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(3) val result = defaultTabStatsBucketing.get1WeeksInactiveTabBucket() assertEquals("1-5", result) } @Test fun testGet1WeeksInactiveTabBucket6To10() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(8) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(8) val result = defaultTabStatsBucketing.get1WeeksInactiveTabBucket() assertEquals("6-10", result) } @Test fun testGet1WeeksInactiveTabBucket11To20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(15) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(15) val result = defaultTabStatsBucketing.get1WeeksInactiveTabBucket() assertEquals("11-20", result) } @Test fun testGet1WeeksInactiveTabBucketMoreThan20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(25) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.ONE_WEEK_IN_DAYS, TabStatsBucketing.TWO_WEEKS_IN_DAYS)).thenReturn(25) val result = defaultTabStatsBucketing.get1WeeksInactiveTabBucket() assertEquals("21+", result) } @Test fun testGet2WeeksInactiveTabBucketZero() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(0) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(0) val result = defaultTabStatsBucketing.get2WeeksInactiveTabBucket() assertEquals("0", result) } @Test fun testGet2WeeksInactiveTabBucketExactly1() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(1) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(1) val result = defaultTabStatsBucketing.get2WeeksInactiveTabBucket() assertEquals("1-5", result) } @Test fun testGet2WeeksInactiveTabBucket1To5() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(5) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(5) val result = defaultTabStatsBucketing.get2WeeksInactiveTabBucket() assertEquals("1-5", result) } @Test fun testGet2WeeksInactiveTabBucket6To10() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(6) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(6) val result = defaultTabStatsBucketing.get2WeeksInactiveTabBucket() assertEquals("6-10", result) } @Test fun testGet2WeeksInactiveTabBucket11To20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(20) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(20) val result = defaultTabStatsBucketing.get2WeeksInactiveTabBucket() assertEquals("11-20", result) } @Test fun testGet2WeeksInactiveTabBucketMoreThan20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(199) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.TWO_WEEKS_IN_DAYS, TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(199) val result = defaultTabStatsBucketing.get2WeeksInactiveTabBucket() assertEquals("21+", result) } @Test fun testGet3WeeksInactiveTabBucketZero() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(0) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(0) val result = defaultTabStatsBucketing.get3WeeksInactiveTabBucket() assertEquals("0", result) } @Test fun testGet3WeeksInactiveTabBucketExactly1() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(1) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(1) val result = defaultTabStatsBucketing.get3WeeksInactiveTabBucket() assertEquals("1-5", result) } @Test fun testGet3WeeksInactiveTabBucket1To5() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(5) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(5) val result = defaultTabStatsBucketing.get3WeeksInactiveTabBucket() assertEquals("1-5", result) } @Test fun testGet3WeeksInactiveTabBucket6To10() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(10) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(10) val result = defaultTabStatsBucketing.get3WeeksInactiveTabBucket() assertEquals("6-10", result) } @Test fun testGet3WeeksInactiveTabBucket11To20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(11) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(11) val result = defaultTabStatsBucketing.get3WeeksInactiveTabBucket() assertEquals("11-20", result) } @Test fun testGet3WeeksInactiveTabBucketMoreThan20() = runBlocking { - whenever(tabRepository.countTabsWithinDayRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(21) + whenever(tabRepository.countTabsAccessedWithinRange(TabStatsBucketing.THREE_WEEKS_IN_DAYS)).thenReturn(21) val result = defaultTabStatsBucketing.get3WeeksInactiveTabBucket() assertEquals("21+", result) } diff --git a/app/src/main/java/com/duckduckgo/app/tabs/model/TabDataRepository.kt b/app/src/main/java/com/duckduckgo/app/tabs/model/TabDataRepository.kt index 468daa7ca375..6e35c1172fca 100644 --- a/app/src/main/java/com/duckduckgo/app/tabs/model/TabDataRepository.kt +++ b/app/src/main/java/com/duckduckgo/app/tabs/model/TabDataRepository.kt @@ -198,7 +198,7 @@ class TabDataRepository @Inject constructor( return tabsDao.tabs().size } - override fun countTabsWithinDayRange(accessOlderThan: Long, accessNotMoreThan: Long?): Int { + override fun countTabsAccessedWithinRange(accessOlderThan: Long, accessNotMoreThan: Long?): Int { val now = LocalDateTime.now(ZoneOffset.UTC) val start = now.minusDays(accessOlderThan) val end = accessNotMoreThan?.let { now.minusDays(it).minusSeconds(1) } // subtracted a second to make the end limit inclusive diff --git a/app/src/main/java/com/duckduckgo/app/tabs/store/TabStatsBucketing.kt b/app/src/main/java/com/duckduckgo/app/tabs/store/TabStatsBucketing.kt index b16078ae3e12..786ecb7cf8ed 100644 --- a/app/src/main/java/com/duckduckgo/app/tabs/store/TabStatsBucketing.kt +++ b/app/src/main/java/com/duckduckgo/app/tabs/store/TabStatsBucketing.kt @@ -74,22 +74,22 @@ class DefaultTabStatsBucketing @Inject constructor( } override suspend fun get7DaysActiveTabBucket(): String { - val count = tabRepository.countTabsWithinDayRange(accessOlderThan = 0, accessNotMoreThan = ONE_WEEK_IN_DAYS) + val count = tabRepository.countTabsAccessedWithinRange(accessOlderThan = 0, accessNotMoreThan = ONE_WEEK_IN_DAYS) return getBucketLabel(count, ACTIVITY_BUCKETS) } override suspend fun get1WeeksInactiveTabBucket(): String { - val count = tabRepository.countTabsWithinDayRange(accessOlderThan = ONE_WEEK_IN_DAYS, accessNotMoreThan = TWO_WEEKS_IN_DAYS) + val count = tabRepository.countTabsAccessedWithinRange(accessOlderThan = ONE_WEEK_IN_DAYS, accessNotMoreThan = TWO_WEEKS_IN_DAYS) return getBucketLabel(count, ACTIVITY_BUCKETS) } override suspend fun get2WeeksInactiveTabBucket(): String { - val count = tabRepository.countTabsWithinDayRange(accessOlderThan = TWO_WEEKS_IN_DAYS, accessNotMoreThan = THREE_WEEKS_IN_DAYS) + val count = tabRepository.countTabsAccessedWithinRange(accessOlderThan = TWO_WEEKS_IN_DAYS, accessNotMoreThan = THREE_WEEKS_IN_DAYS) return getBucketLabel(count, ACTIVITY_BUCKETS) } override suspend fun get3WeeksInactiveTabBucket(): String { - val count = tabRepository.countTabsWithinDayRange(accessOlderThan = THREE_WEEKS_IN_DAYS) + val count = tabRepository.countTabsAccessedWithinRange(accessOlderThan = THREE_WEEKS_IN_DAYS) return getBucketLabel(count, ACTIVITY_BUCKETS) } diff --git a/browser-api/src/main/java/com/duckduckgo/app/tabs/model/TabRepository.kt b/browser-api/src/main/java/com/duckduckgo/app/tabs/model/TabRepository.kt index 5aae5dd851a2..41b0eff8d37e 100644 --- a/browser-api/src/main/java/com/duckduckgo/app/tabs/model/TabRepository.kt +++ b/browser-api/src/main/java/com/duckduckgo/app/tabs/model/TabRepository.kt @@ -126,5 +126,5 @@ interface TabRepository { * @param accessNotMoreThan the maximum number of days (inclusive) since the tab was last accessed (optional) * @return the number of tabs that are inactive */ - fun countTabsWithinDayRange(accessOlderThan: Long, accessNotMoreThan: Long? = null): Int + fun countTabsAccessedWithinRange(accessOlderThan: Long, accessNotMoreThan: Long? = null): Int }