Abrarul8541 commited on
Commit
0663e35
·
verified ·
1 Parent(s): 5a860a3

Phase 5: unit tests for tier matrix

Browse files
app/src/test/java/io/github/abrarul/modularai/RecommendTest.kt ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ package io.github.abrarul.modularai
2
+
3
+ import io.github.abrarul.modularai.model.DeviceProfiler
4
+ import io.github.abrarul.modularai.model.Profile
5
+ import io.github.abrarul.modularai.model.Tier
6
+ import org.junit.Assert.assertEquals
7
+ import org.junit.Assert.assertTrue
8
+ import org.junit.Test
9
+
10
+ class RecommendTest {
11
+ private fun p(total: Long, avail: Long, tier: Tier) =
12
+ Profile("x", "arm64-v8a", 8, total, avail, 50_000, false, 100.0, tier)
13
+
14
+ @Test fun lowRamPicksTinyQuantAndSmallContext() {
15
+ val r = DeviceProfiler.recommend(p(2_000, 800, Tier.ULTRA_LIGHT))
16
+ assertEquals("IQ2_XS", r.quant)
17
+ assertEquals(2048, r.contextTokens)
18
+ }
19
+
20
+ @Test fun midRamAllowsSevenBClassModels() {
21
+ val r = DeviceProfiler.recommend(p(8_000, 6_000, Tier.BALANCED))
22
+ assertTrue(r.maxParamsB >= 3.0)
23
+ assertEquals("Q4_K_M", r.quant)
24
+ }
25
+
26
+ @Test fun highRamUnlocksBiggerContext() {
27
+ val r = DeviceProfiler.recommend(p(16_000, 12_000, Tier.POWER))
28
+ assertTrue(r.contextTokens >= 4096)
29
+ }
30
+ }