diff options
Diffstat (limited to 'v_windows/v/vlib/sync/channel_2_test.v')
-rw-r--r-- | v_windows/v/vlib/sync/channel_2_test.v | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/v_windows/v/vlib/sync/channel_2_test.v b/v_windows/v/vlib/sync/channel_2_test.v new file mode 100644 index 0000000..5e8251d --- /dev/null +++ b/v_windows/v/vlib/sync/channel_2_test.v @@ -0,0 +1,19 @@ +const ( + num_iterations = 10000 +) + +fn do_send(ch chan int) { + for i in 0 .. num_iterations { + ch <- i + } +} + +fn test_channel_unbuffered() { + ch := chan int{} + go do_send(ch) + mut sum := i64(0) + for _ in 0 .. num_iterations { + sum += <-ch + } + assert sum == u64(num_iterations) * (num_iterations - 1) / 2 +} |