1package com.parseable.android
3import com.parseable.android.data.formatBytes
4import org.junit.Assert.*
10 fun `null input returns null`() {
11 assertNull(formatBytes(null))
16 assertEquals("0 B", formatBytes("0"))
20 fun `small byte values`() {
21 assertEquals("512 B", formatBytes("512"))
22 assertEquals("1 B", formatBytes("1"))
27 assertEquals("1.00 KB", formatBytes("1024"))
28 assertEquals("1.50 KB", formatBytes("1536"))
33 assertEquals("1.00 MB", formatBytes("1048576"))
34 assertEquals("5.25 MB", formatBytes("5505024"))
39 assertEquals("1.00 GB", formatBytes("1073741824"))
40 assertEquals("2.50 GB", formatBytes("2684354560"))
45 assertEquals("1.00 TB", formatBytes("1099511627776"))
49 fun `large values use no decimals`() {
50 // 150 GB = 161061273600
51 assertEquals("150 GB", formatBytes("161061273600"))
55 fun `mid-range values use one decimal`() {
57 assertEquals("15.5 MB", formatBytes("16252928"))
61 fun `non-numeric string passes through unchanged`() {
62 assertEquals("already formatted", formatBytes("already formatted"))
63 assertEquals("1.5 GiB", formatBytes("1.5 GiB"))
67 fun `negative value passes through unchanged`() {
68 assertEquals("-1024", formatBytes("-1024"))
72 fun `whitespace is trimmed before parsing`() {
73 assertEquals("1.00 KB", formatBytes(" 1024 "))
77 fun `fractional bytes from API`() {
78 assertEquals("1.50 KB", formatBytes("1536.0"))
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list