mirror of
				https://github.com/duke-git/lancet.git
				synced 2025-10-31 18:52:43 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			533 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			533 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package algorithm
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/duke-git/lancet/v2/internal"
 | |
| )
 | |
| 
 | |
| func TestLRUCache(t *testing.T) {
 | |
| 	t.Parallel()
 | |
| 	assert := internal.NewAssert(t, "TestLRUCache")
 | |
| 
 | |
| 	cache := NewLRUCache[int, int](3)
 | |
| 
 | |
| 	cache.Put(1, 1)
 | |
| 	cache.Put(2, 2)
 | |
| 	cache.Put(3, 3)
 | |
| 
 | |
| 	assert.Equal(3, cache.Len())
 | |
| 
 | |
| 	v, ok := cache.Get(1)
 | |
| 	assert.Equal(true, ok)
 | |
| 	assert.Equal(1, v)
 | |
| 
 | |
| 	v, ok = cache.Get(2)
 | |
| 	assert.Equal(true, ok)
 | |
| 	assert.Equal(2, v)
 | |
| 
 | |
| 	ok = cache.Delete(2)
 | |
| 	assert.Equal(true, ok)
 | |
| 
 | |
| 	_, ok = cache.Get(2)
 | |
| 	assert.Equal(false, ok)
 | |
| }
 | 
