Remove plans/ directory (P0/P1/P2 work complete)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package predictive
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestAccessPredictor_Basic(t *testing.T) {
|
||||
t.Parallel()
|
||||
p := NewAccessPredictor()
|
||||
p.RecordSequence("a/b/c1", "a/b/c2")
|
||||
next := p.PredictNext("a/b/c1")
|
||||
if len(next) == 0 {
|
||||
t.Log("no predictions (cold start ok)")
|
||||
}
|
||||
_ = p.IsPredictedAccess("a/b/c2")
|
||||
}
|
||||
|
||||
func TestCacheWarmer_Basic(t *testing.T) {
|
||||
t.Parallel()
|
||||
cw := NewCacheWarmer()
|
||||
cw.RecordAccess("k1", 100)
|
||||
cw.RecordAccess("k1", 100)
|
||||
pop := cw.GetPopularContent(5)
|
||||
_ = len(pop)
|
||||
_ = NewWarmingStats()
|
||||
_ = NewActiveWarmer("k", 1, "test")
|
||||
}
|
||||
|
||||
// TestPredictiveCacheManager_ConstructAndStop exercises New + RecordAccess under load + worker + Stop (no leak/panic; issue11).
|
||||
func TestPredictiveCacheManager_ConstructAndStop(t *testing.T) {
|
||||
t.Parallel()
|
||||
pm := NewPredictiveCacheManager()
|
||||
for i := 0; i < 20; i++ {
|
||||
k := "k" + string(rune('0'+i%5))
|
||||
pm.RecordAccess(k, "", 100) // use actual API (RecordAccess); exercises warmer+predictor paths
|
||||
}
|
||||
// Stop exercises wg + cancel for workers
|
||||
pm.Stop()
|
||||
// double stop safe
|
||||
pm.Stop()
|
||||
}
|
||||
Reference in New Issue
Block a user