package com.peachpasswords import androidx.compose.ui.unit.dp import org.junit.Assert.assertEquals import org.junit.Test class MainActivityTest { @Test fun auto_scaling_keeps_phone_and_foldable_behavior() { assertEquals(1f, wideScreenScaleFor("auto", 411.dp, 800.dp), 0f) assertEquals(1.35f, wideScreenScaleFor("auto", 673.dp, 841.dp), 0f) } @Test fun auto_scaling_does_not_inflate_tablet_controls() { assertEquals(1f, wideScreenScaleFor("auto", 800.dp, 1280.dp), 0f) assertEquals(1f, wideScreenScaleFor("auto", 600.dp, 960.dp), 0f) } @Test fun scale_presets_override_auto_layout_choice() { assertEquals(1f, wideScreenScaleFor("compact", 673.dp, 841.dp), 0f) assertEquals(1.35f, wideScreenScaleFor("large", 800.dp, 1280.dp), 0f) } /** * On a phone-width window every preset lands on the same scale, so the * persisted preference arriving after the default cannot change it. Only a * tablet-like window makes "auto" and "large" disagree, which is what let * the re-scale tear down the nav host on a foldable's inner screen. */ @Test fun every_preset_agrees_on_a_phone_screen() { assertEquals( wideScreenScaleFor("auto", 385.dp, 914.dp), wideScreenScaleFor("large", 385.dp, 914.dp), 0f, ) assertEquals(1f, wideScreenScaleFor("large", 385.dp, 914.dp), 0f) } }