feat: add WindowSizeClass system for responsive layout (Closes #1)
This commit was merged in pull request #40.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package org.shahondin1624
|
||||
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.shahondin1624.theme.WindowSizeClass
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
class WindowSizeClassTest {
|
||||
|
||||
@Test
|
||||
fun compactForWidthBelow600() {
|
||||
assertEquals(WindowSizeClass.Compact, WindowSizeClass.fromWidth(0.dp))
|
||||
assertEquals(WindowSizeClass.Compact, WindowSizeClass.fromWidth(320.dp))
|
||||
assertEquals(WindowSizeClass.Compact, WindowSizeClass.fromWidth(599.dp))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun mediumForWidth600To840() {
|
||||
assertEquals(WindowSizeClass.Medium, WindowSizeClass.fromWidth(600.dp))
|
||||
assertEquals(WindowSizeClass.Medium, WindowSizeClass.fromWidth(720.dp))
|
||||
assertEquals(WindowSizeClass.Medium, WindowSizeClass.fromWidth(840.dp))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun expandedForWidthAbove840() {
|
||||
assertEquals(WindowSizeClass.Expanded, WindowSizeClass.fromWidth(841.dp))
|
||||
assertEquals(WindowSizeClass.Expanded, WindowSizeClass.fromWidth(1200.dp))
|
||||
assertEquals(WindowSizeClass.Expanded, WindowSizeClass.fromWidth(1920.dp))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun boundaryAt600() {
|
||||
assertEquals(WindowSizeClass.Compact, WindowSizeClass.fromWidth(599.9.dp))
|
||||
assertEquals(WindowSizeClass.Medium, WindowSizeClass.fromWidth(600.dp))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun boundaryAt840() {
|
||||
assertEquals(WindowSizeClass.Medium, WindowSizeClass.fromWidth(840.dp))
|
||||
assertEquals(WindowSizeClass.Expanded, WindowSizeClass.fromWidth(840.1.dp))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user