Update mode toggle, split flash visuals, and interval-ms controls

This commit is contained in:
Tretzi
2026-03-10 23:24:49 -05:00
parent fdf3bf01d3
commit bb5d77fea3
9 changed files with 137 additions and 125 deletions

View File

@@ -1,8 +1,8 @@
package com.mindmachine.mvp
import com.mindmachine.mvp.domain.SessionConfig
import com.mindmachine.mvp.domain.SessionMode
import com.mindmachine.mvp.domain.VisualPattern
import com.mindmachine.mvp.domain.SessionConfig
import com.mindmachine.mvp.session.SessionValidator
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
@@ -14,7 +14,7 @@ class SessionValidatorTest {
durationSec = 600,
mode = SessionMode.AUDIO_VISUAL,
visualPatternType = VisualPattern.PULSE,
blinkFrequencyHz = 6f,
flashIntervalMs = 167,
intensityPercent = 50,
carrierFrequencyHz = 200f,
binauralDifferenceHz = 6f,
@@ -39,7 +39,7 @@ class SessionValidatorTest {
@Test
fun out_of_range_values_are_blocked() {
assertEquals("Duration must be 1 to 30 minutes.", SessionValidator.validate(valid.copy(durationSec = 59), true))
assertEquals("Blink frequency must be 1.0 to 20.0 Hz.", SessionValidator.validate(valid.copy(blinkFrequencyHz = 21f), true))
assertEquals("Flash interval must be 50 to 2000 ms.", SessionValidator.validate(valid.copy(flashIntervalMs = 49), true))
assertEquals("Carrier frequency must be 80 to 400 Hz.", SessionValidator.validate(valid.copy(carrierFrequencyHz = 79f), true))
assertEquals("Binaural difference must be 0.5 to 20 Hz.", SessionValidator.validate(valid.copy(binauralDifferenceHz = 0.1f), true))
}