Skip to content

Commit

Permalink
Tests for DateUtils and FileExtensions
Browse files Browse the repository at this point in the history
  • Loading branch information
sgallese committed Sep 20, 2021
1 parent 2ab6c39 commit 95e20be
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@ abstract class DateUtils {
}

@JvmStatic
fun getLocalTime(): Long {
fun getLocalTime(testTimeInMillis: Long? = null): Long {
if (fixedLocalTime != null) return fixedLocalTime as Long

val tz = getTimeZone()
val now = Date().time
val now = testTimeInMillis ?: Date().time
return now + tz.getOffset(now)
}

Expand Down Expand Up @@ -144,7 +144,7 @@ abstract class DateUtils {
*/
@JvmStatic
fun getFirstWeekdayNumberAccordingToLocale(): Int {
return GregorianCalendar().firstDayOfWeek
return GregorianCalendar(getLocale()).firstDayOfWeek
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,37 @@ class DateUtilsTest : BaseUnitTest() {
assertThat(formatted, equalTo("Thu\n31"))
}

@Test
fun testGetLocalTime() {
setFixedLocalTime(null)
setFixedTimeZone(TimeZone.getTimeZone("Australia/Sydney"))
val utcTestTimeInMillis = unixTime(2015, Calendar.JANUARY, 11)
val localTimeInMillis = DateUtils.getLocalTime(utcTestTimeInMillis)
val expectedUnixTimeOffsetForSydney = 11 * 60 * 60 * 1000
val expectedUnixTimeForSydney = utcTestTimeInMillis + expectedUnixTimeOffsetForSydney
assertThat(expectedUnixTimeForSydney, equalTo(localTimeInMillis))
}

@Test
fun testGetWeekdaySequence() {
val weekdaySequence = DateUtils.getWeekdaySequence(3)
assertThat(arrayOf(3, 4, 5, 6, 7, 1, 2), equalTo(weekdaySequence))
}

@Test
fun testGetFirstWeekdayNumberAccordingToLocale_germany() {
setFixedLocale(Locale.GERMANY)
val firstWeekdayNumber = DateUtils.getFirstWeekdayNumberAccordingToLocale()
assertThat(2, equalTo(firstWeekdayNumber))
}

@Test
fun testGetFirstWeekdayNumberAccordingToLocale_us() {
setFixedLocale(Locale.US)
val firstWeekdayNumber = DateUtils.getFirstWeekdayNumberAccordingToLocale()
assertThat(1, equalTo(firstWeekdayNumber))
}

@Test
fun testTruncate_dayOfWeek() {
val field = DateUtils.TruncateField.WEEK_NUMBER
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.isoron.uhabits.core.utils

import org.isoron.uhabits.core.BaseUnitTest
import org.junit.Test
import java.io.File
import kotlin.test.assertTrue

class FileExtensionsTest : BaseUnitTest() {

@Test
fun testIsSQLite3File() {
val file = File.createTempFile("asset", "")
copyAssetToFile("loop.db", file)
val isSqlite3File = file.isSQLite3File()
assertTrue(isSqlite3File)
}
}

0 comments on commit 95e20be

Please sign in to comment.