Skip to content

Commit

Permalink
Rename the tab counting method for better understanding
Browse files Browse the repository at this point in the history
  • Loading branch information
0nko committed Nov 15, 2024
1 parent 30560a2 commit 5fbc2f6
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand All @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

0 comments on commit 5fbc2f6

Please sign in to comment.