Abrarul8541's picture
Phase 5: unit tests for tier matrix
0663e35 verified
Raw History Blame Contribute Delete
1.04 kB
package io.github.abrarul.modularai
import io.github.abrarul.modularai.model.DeviceProfiler
import io.github.abrarul.modularai.model.Profile
import io.github.abrarul.modularai.model.Tier
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
class RecommendTest {
private fun p(total: Long, avail: Long, tier: Tier) =
Profile("x", "arm64-v8a", 8, total, avail, 50_000, false, 100.0, tier)
@Test fun lowRamPicksTinyQuantAndSmallContext() {
val r = DeviceProfiler.recommend(p(2_000, 800, Tier.ULTRA_LIGHT))
assertEquals("IQ2_XS", r.quant)
assertEquals(2048, r.contextTokens)
}
@Test fun midRamAllowsSevenBClassModels() {
val r = DeviceProfiler.recommend(p(8_000, 6_000, Tier.BALANCED))
assertTrue(r.maxParamsB >= 3.0)
assertEquals("Q4_K_M", r.quant)
}
@Test fun highRamUnlocksBiggerContext() {
val r = DeviceProfiler.recommend(p(16_000, 12_000, Tier.POWER))
assertTrue(r.contextTokens >= 4096)
}
}