lru_test.go 453 B

1234567891011121314151617181920212223242526272829303132333435
  1. package lru
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestSafeLRU(t *testing.T) {
  7. l := NewSafe(32)
  8. for i := 1; i <= 64; i++ {
  9. l.Add(i, 1)
  10. }
  11. for _, key := range l.Keys() {
  12. value, ok := l.Get(key)
  13. if ok {
  14. fmt.Println(key, value)
  15. }
  16. }
  17. if l.Len() != 32 {
  18. panic(fmt.Sprintf("bad len: %v", l.Len()))
  19. }
  20. }
  21. func BenchmarkGet(b *testing.B) {
  22. l := New(128)
  23. for i := 0; i < 256; i++ {
  24. l.Add(i, 1)
  25. }
  26. for i := 0; i < b.N; i++ {
  27. l.Get(i)
  28. }
  29. }