aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/old/vlib/sync/channel_1_test.v
diff options
context:
space:
mode:
authorIndrajith K L2022-12-03 17:00:20 +0530
committerIndrajith K L2022-12-03 17:00:20 +0530
commitf5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch)
tree2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/old/vlib/sync/channel_1_test.v
downloadcli-tools-windows-master.tar.gz
cli-tools-windows-master.tar.bz2
cli-tools-windows-master.zip
Adds most of the toolsHEADmaster
Diffstat (limited to 'v_windows/v/old/vlib/sync/channel_1_test.v')
-rw-r--r--v_windows/v/old/vlib/sync/channel_1_test.v25
1 files changed, 25 insertions, 0 deletions
diff --git a/v_windows/v/old/vlib/sync/channel_1_test.v b/v_windows/v/old/vlib/sync/channel_1_test.v
new file mode 100644
index 0000000..17588fd
--- /dev/null
+++ b/v_windows/v/old/vlib/sync/channel_1_test.v
@@ -0,0 +1,25 @@
+const (
+ num_iterations = 10000
+)
+
+fn do_send(ch chan int) {
+ for i in 0 .. num_iterations {
+ ch <- i
+ }
+}
+
+fn test_channel_buffered() {
+ ch := chan int{cap: 1000}
+ go do_send(ch)
+ mut sum := i64(0)
+ for _ in 0 .. num_iterations {
+ sum += <-ch
+ }
+ assert sum == u64(num_iterations) * (num_iterations - 1) / 2
+}
+
+fn test_builtin_enum() {
+ x := ChanState.closed
+ assert x == .closed
+ println(x)
+}