23 lines
		
	
	
		
			343 B
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			343 B
		
	
	
	
		
			V
		
	
	
import sync
 | 
						|
 | 
						|
const (
 | 
						|
	queue_len = 1000
 | 
						|
	queue_fill = 763
 | 
						|
)
 | 
						|
 | 
						|
fn do_send(ch chan int, fin sync.Semaphore) {
 | 
						|
	for i in 0 .. queue_fill {
 | 
						|
		ch <- i
 | 
						|
	}
 | 
						|
	fin.post()
 | 
						|
}
 | 
						|
 | 
						|
fn test_channel_len_cap() {
 | 
						|
	ch := chan int{cap: queue_len}
 | 
						|
	sem := sync.new_semaphore()
 | 
						|
	go do_send(ch, sem)
 | 
						|
	sem.wait()
 | 
						|
	assert ch.cap == queue_len
 | 
						|
	assert ch.len == queue_fill
 | 
						|
}
 |