Rename ByteSize.to to ByteSize.into
This method could clash the the `a to b` operator.
This commit is contained in:
parent
a7eb46ed45
commit
6441153dba
3 changed files with 28 additions and 22 deletions
|
|
@ -15,7 +15,7 @@ enum class ByteUnit(val bitShift: Int) {
|
|||
}
|
||||
|
||||
class ByteSize internal constructor(val value: Long, val unit: ByteUnit) {
|
||||
fun to(dest: ByteUnit): Long {
|
||||
fun into(dest: ByteUnit): Long {
|
||||
if (unit == dest) return value
|
||||
return value shl unit.bitShift shr dest.bitShift
|
||||
}
|
||||
|
|
@ -25,3 +25,9 @@ val Number.gigaBytes get() = ByteSize(toLong(), ByteUnit.GB)
|
|||
val Number.megaBytes get() = ByteSize(toLong(), ByteUnit.MB)
|
||||
val Number.kiloBytes get() = ByteSize(toLong(), ByteUnit.KB)
|
||||
val Number.bytes get() = ByteSize(toLong(), ByteUnit.BYTES)
|
||||
|
||||
// For the SDK values
|
||||
val ULong.gigaBytes get() = ByteSize(toLong(), ByteUnit.GB)
|
||||
val ULong.megaBytes get() = ByteSize(toLong(), ByteUnit.MB)
|
||||
val ULong.kiloBytes get() = ByteSize(toLong(), ByteUnit.KB)
|
||||
val ULong.bytes get() = ByteSize(toLong(), ByteUnit.BYTES)
|
||||
|
|
|
|||
|
|
@ -15,35 +15,35 @@ class ByteSizeTest {
|
|||
fun testSizeConversions() {
|
||||
// Check bytes to other units
|
||||
val bytes = 10_000_000.bytes
|
||||
assertThat(bytes.to(ByteUnit.BYTES)).isEqualTo(bytes.value)
|
||||
assertThat(bytes.to(ByteUnit.KB)).isEqualTo(bytes.value / 1024L)
|
||||
assertThat(bytes.to(ByteUnit.MB)).isEqualTo(bytes.value / 1024L / 1024L)
|
||||
assertThat(bytes.to(ByteUnit.GB)).isEqualTo(bytes.value / 1024L / 1024L / 1024L)
|
||||
assertThat(bytes.into(ByteUnit.BYTES)).isEqualTo(bytes.value)
|
||||
assertThat(bytes.into(ByteUnit.KB)).isEqualTo(bytes.value / 1024L)
|
||||
assertThat(bytes.into(ByteUnit.MB)).isEqualTo(bytes.value / 1024L / 1024L)
|
||||
assertThat(bytes.into(ByteUnit.GB)).isEqualTo(bytes.value / 1024L / 1024L / 1024L)
|
||||
|
||||
// Now check for values too small to be converted
|
||||
assertThat(100.bytes.to(ByteUnit.KB)).isEqualTo(0)
|
||||
assertThat(100.bytes.to(ByteUnit.MB)).isEqualTo(0)
|
||||
assertThat(100.bytes.to(ByteUnit.GB)).isEqualTo(0)
|
||||
assertThat(100.bytes.into(ByteUnit.KB)).isEqualTo(0)
|
||||
assertThat(100.bytes.into(ByteUnit.MB)).isEqualTo(0)
|
||||
assertThat(100.bytes.into(ByteUnit.GB)).isEqualTo(0)
|
||||
|
||||
// Check for KBs
|
||||
val kiloBytes = 10_000.kiloBytes
|
||||
assertThat(kiloBytes.to(ByteUnit.BYTES)).isEqualTo(kiloBytes.value * 1024L)
|
||||
assertThat(kiloBytes.to(ByteUnit.KB)).isEqualTo(kiloBytes.value)
|
||||
assertThat(kiloBytes.to(ByteUnit.MB)).isEqualTo(kiloBytes.value / 1024L)
|
||||
assertThat(kiloBytes.to(ByteUnit.GB)).isEqualTo(kiloBytes.value / 1024L / 1024L)
|
||||
assertThat(kiloBytes.into(ByteUnit.BYTES)).isEqualTo(kiloBytes.value * 1024L)
|
||||
assertThat(kiloBytes.into(ByteUnit.KB)).isEqualTo(kiloBytes.value)
|
||||
assertThat(kiloBytes.into(ByteUnit.MB)).isEqualTo(kiloBytes.value / 1024L)
|
||||
assertThat(kiloBytes.into(ByteUnit.GB)).isEqualTo(kiloBytes.value / 1024L / 1024L)
|
||||
|
||||
// Check for MBs
|
||||
val megaBytes = 10_000.megaBytes
|
||||
assertThat(megaBytes.to(ByteUnit.BYTES)).isEqualTo(megaBytes.value * 1024L * 1024L)
|
||||
assertThat(megaBytes.to(ByteUnit.KB)).isEqualTo(megaBytes.value * 1024L)
|
||||
assertThat(megaBytes.to(ByteUnit.MB)).isEqualTo(megaBytes.value)
|
||||
assertThat(megaBytes.to(ByteUnit.GB)).isEqualTo(megaBytes.value / 1024L)
|
||||
assertThat(megaBytes.into(ByteUnit.BYTES)).isEqualTo(megaBytes.value * 1024L * 1024L)
|
||||
assertThat(megaBytes.into(ByteUnit.KB)).isEqualTo(megaBytes.value * 1024L)
|
||||
assertThat(megaBytes.into(ByteUnit.MB)).isEqualTo(megaBytes.value)
|
||||
assertThat(megaBytes.into(ByteUnit.GB)).isEqualTo(megaBytes.value / 1024L)
|
||||
|
||||
// Check for GBs
|
||||
val gigaBytes = 10.gigaBytes
|
||||
assertThat(gigaBytes.to(ByteUnit.BYTES)).isEqualTo(gigaBytes.value * 1024L * 1024L * 1024L)
|
||||
assertThat(gigaBytes.to(ByteUnit.KB)).isEqualTo(gigaBytes.value * 1024L * 1024L)
|
||||
assertThat(gigaBytes.to(ByteUnit.MB)).isEqualTo(gigaBytes.value * 1024L)
|
||||
assertThat(gigaBytes.to(ByteUnit.GB)).isEqualTo(gigaBytes.value)
|
||||
assertThat(gigaBytes.into(ByteUnit.BYTES)).isEqualTo(gigaBytes.value * 1024L * 1024L * 1024L)
|
||||
assertThat(gigaBytes.into(ByteUnit.KB)).isEqualTo(gigaBytes.value * 1024L * 1024L)
|
||||
assertThat(gigaBytes.into(ByteUnit.MB)).isEqualTo(gigaBytes.value * 1024L)
|
||||
assertThat(gigaBytes.into(ByteUnit.GB)).isEqualTo(gigaBytes.value)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,9 +81,9 @@ class RustMatrixClientFactory(
|
|||
client.setMediaRetentionPolicy(
|
||||
MediaRetentionPolicy(
|
||||
// Make this 500MB instead of 400MB
|
||||
maxCacheSize = 500.megaBytes.to(ByteUnit.BYTES).toULong(),
|
||||
maxCacheSize = 500.megaBytes.into(ByteUnit.BYTES).toULong(),
|
||||
// This is the default value, but let's make it explicit
|
||||
maxFileSize = 20.megaBytes.to(ByteUnit.BYTES).toULong(),
|
||||
maxFileSize = 20.megaBytes.into(ByteUnit.BYTES).toULong(),
|
||||
// Use 30 days instead of 60
|
||||
lastAccessExpiry = 30.days.toJavaDuration(),
|
||||
// This is the default value, but let's make it explicit
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue