Начать этап 3 настройками управления

This commit is contained in:
2026-08-18 14:44:30 +03:00
parent 80822b74b1
commit 44067abde3
12 changed files with 492 additions and 22 deletions
@@ -0,0 +1,50 @@
package com.projectsacrifice.game;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public final class ControlSettingsTest {
@Test
public void controlSizeCyclesThroughAccessiblePresetsAndWraps() {
ControlSettings settings = ControlSettings.defaults();
assertEquals("Medium", settings.controlSizeLabel());
assertEquals(1f, settings.controlScale(), 0f);
settings = settings.nextControlSize();
assertEquals("Large", settings.controlSizeLabel());
assertEquals(1.2f, settings.controlScale(), 0f);
settings = settings.nextControlSize().nextControlSize();
assertEquals("Medium", settings.controlSizeLabel());
assertEquals(1f, settings.controlScale(), 0f);
}
@Test
public void controlOpacityCyclesWithoutMakingControlsInvisible() {
ControlSettings settings = ControlSettings.defaults();
assertEquals("Medium", settings.controlOpacityLabel());
assertEquals(0.65f, settings.controlOpacity(), 0f);
settings = settings.nextControlOpacity();
assertEquals("High", settings.controlOpacityLabel());
assertEquals(0.9f, settings.controlOpacity(), 0f);
settings = settings.nextControlOpacity();
assertEquals("Low", settings.controlOpacityLabel());
assertEquals(0.45f, settings.controlOpacity(), 0f);
}
@Test
public void vibrationCanBeDisabledAndEnabledAgain() {
ControlSettings settings = ControlSettings.defaults();
assertEquals(true, settings.hapticsEnabled());
settings = settings.toggleHaptics();
assertEquals(false, settings.hapticsEnabled());
assertEquals("Off", settings.hapticsLabel());
assertEquals(true, settings.toggleHaptics().hapticsEnabled());
}
}