mirror of
				https://github.com/bolucat/Archive.git
				synced 2025-10-31 11:57:05 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			833 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			833 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package dispatcher_test
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	. "github.com/v2fly/v2ray-core/v5/app/dispatcher"
 | |
| 	"github.com/v2fly/v2ray-core/v5/common"
 | |
| 	"github.com/v2fly/v2ray-core/v5/common/buf"
 | |
| )
 | |
| 
 | |
| type TestCounter int64
 | |
| 
 | |
| func (c *TestCounter) Value() int64 {
 | |
| 	return int64(*c)
 | |
| }
 | |
| 
 | |
| func (c *TestCounter) Add(v int64) int64 {
 | |
| 	x := int64(*c) + v
 | |
| 	*c = TestCounter(x)
 | |
| 	return x
 | |
| }
 | |
| 
 | |
| func (c *TestCounter) Set(v int64) int64 {
 | |
| 	*c = TestCounter(v)
 | |
| 	return v
 | |
| }
 | |
| 
 | |
| func TestStatsWriter(t *testing.T) {
 | |
| 	var c TestCounter
 | |
| 	writer := &SizeStatWriter{
 | |
| 		Counter: &c,
 | |
| 		Writer:  buf.Discard,
 | |
| 	}
 | |
| 
 | |
| 	mb := buf.MergeBytes(nil, []byte("abcd"))
 | |
| 	common.Must(writer.WriteMultiBuffer(mb))
 | |
| 
 | |
| 	mb = buf.MergeBytes(nil, []byte("efg"))
 | |
| 	common.Must(writer.WriteMultiBuffer(mb))
 | |
| 
 | |
| 	if c.Value() != 7 {
 | |
| 		t.Fatal("unexpected counter value. want 7, but got ", c.Value())
 | |
| 	}
 | |
| }
 | 
