46 lines
		
	
	
		
			770 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			770 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package pool
 | 
						|
 | 
						|
import (
 | 
						|
	"bytes"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestByte(t *testing.T) {
 | 
						|
	p := NewBytePool(1024)
 | 
						|
	b := p.Get()
 | 
						|
	copy(*b, []byte(`test`))
 | 
						|
	if bytes.Equal(*b, []byte("test")) {
 | 
						|
		t.Fatal("pool not works")
 | 
						|
	}
 | 
						|
	p.Put(b)
 | 
						|
	b = p.Get()
 | 
						|
	for i := 0; i < 1500; i++ {
 | 
						|
		*b = append(*b, []byte(`test`)...)
 | 
						|
	}
 | 
						|
	p.Put(b)
 | 
						|
	st := p.Stats()
 | 
						|
	if st.Get != 2 && st.Put != 2 && st.Mis != 1 && st.Ret != 1 {
 | 
						|
		t.Fatalf("pool stats error %#+v", st)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestBytes(t *testing.T) {
 | 
						|
	p := NewBytesPool(1024)
 | 
						|
	b := p.Get()
 | 
						|
	b.Write([]byte(`test`))
 | 
						|
	if b.String() != "test" {
 | 
						|
		t.Fatal("pool not works")
 | 
						|
	}
 | 
						|
	p.Put(b)
 | 
						|
}
 | 
						|
 | 
						|
func TestStrings(t *testing.T) {
 | 
						|
	p := NewStringsPool(20)
 | 
						|
	b := p.Get()
 | 
						|
	b.Write([]byte(`test`))
 | 
						|
	if b.String() != "test" {
 | 
						|
		t.Fatal("pool not works")
 | 
						|
	}
 | 
						|
	p.Put(b)
 | 
						|
}
 |