MainActivityTest.kt

1.4 KB · raw

1package com.peachpasswords23import androidx.compose.ui.unit.dp4import org.junit.Assert.assertEquals5import org.junit.Test67class MainActivityTest {89    @Test fun auto_scaling_keeps_phone_and_foldable_behavior() {10        assertEquals(1f, wideScreenScaleFor("auto", 411.dp, 800.dp), 0f)11        assertEquals(1.35f, wideScreenScaleFor("auto", 673.dp, 841.dp), 0f)12    }1314    @Test fun auto_scaling_does_not_inflate_tablet_controls() {15        assertEquals(1f, wideScreenScaleFor("auto", 800.dp, 1280.dp), 0f)16        assertEquals(1f, wideScreenScaleFor("auto", 600.dp, 960.dp), 0f)17    }1819    @Test fun scale_presets_override_auto_layout_choice() {20        assertEquals(1f, wideScreenScaleFor("compact", 673.dp, 841.dp), 0f)21        assertEquals(1.35f, wideScreenScaleFor("large", 800.dp, 1280.dp), 0f)22    }2324    /**25     * On a phone-width window every preset lands on the same scale, so the26     * persisted preference arriving after the default cannot change it. Only a27     * tablet-like window makes "auto" and "large" disagree, which is what let28     * the re-scale tear down the nav host on a foldable's inner screen.29     */30    @Test fun every_preset_agrees_on_a_phone_screen() {31        assertEquals(32            wideScreenScaleFor("auto", 385.dp, 914.dp),33            wideScreenScaleFor("large", 385.dp, 914.dp),34            0f,35        )36        assertEquals(1f, wideScreenScaleFor("large", 385.dp, 914.dp), 0f)37    }38}