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