Initial Dever 0.0.1
This commit is contained in:
commit
81233d098c
1479 files changed
+163782
No files matched your search
@@ -0,0 +1,56 @@
|
||||
type Result { Done
|
||||
error Failed(message: Text) }
|
||||
|
||||
type Message { Value(value: Int?) }
|
||||
|
||||
produce(values: Channel<Int>) () { send(values, 10)
|
||||
send(values, 20)
|
||||
close(values) }
|
||||
|
||||
handled(value: null) (answer: Bool) recover("处理接收错误") { answer = false }
|
||||
handled(value: Result.Done) (answer: Bool) recover("处理接收错误") { answer = false }
|
||||
handled(value: Result.Failed(message)) (answer: Bool) recover("处理接收错误") { answer = message == "reason" }
|
||||
|
||||
nested(value: null) (answer: Bool) { answer = false }
|
||||
nested(value: Channel<Int>) (answer: Bool) { answer = receive(value) == 7 }
|
||||
|
||||
verify() (answer: Bool) {
|
||||
values = channel(Int, 1)
|
||||
pending = run(produce(values))
|
||||
first = receive(values)
|
||||
second = receive(values)
|
||||
end = receive(values)
|
||||
wait(pending)
|
||||
nullable_values = channel(Message, 2)
|
||||
send(nullable_values, Message.Value(null))
|
||||
send(nullable_values, Message.Value(30))
|
||||
nullable_item = receive(nullable_values)
|
||||
present = receive(nullable_values)
|
||||
alias = nullable_values
|
||||
close(alias)
|
||||
nullable_end = receive(nullable_values)
|
||||
lists = channel(List<Int>, 1)
|
||||
original = [1, 2]
|
||||
send(lists, original)
|
||||
original = append(original, 3)
|
||||
copied = receive(lists)
|
||||
nested_values = channel(Channel<Int>, 1)
|
||||
child = channel(Int, 1)
|
||||
send(child, 7)
|
||||
send(nested_values, child)
|
||||
nested_ok = nested(receive(nested_values))
|
||||
failures = channel(Result, 1)
|
||||
send(failures, Result.Failed("reason"))
|
||||
error_ok = handled(receive(failures))
|
||||
answer = first == 10 and second == 20 and end == null and nullable_item == Message.Value(null) and present == Message.Value(30) and nullable_end == null and copied == [1, 2] and original == [1, 2, 3] and nested_ok and error_ok
|
||||
}
|
||||
|
||||
creation() (value: Channel<Int>) { value = channel(Int, 1) }
|
||||
|
||||
nullable() (value: Channel<Int>?) { value = null }
|
||||
|
||||
invalid() () { values = channel(Int, 0) }
|
||||
|
||||
closed() () { values = channel(Int, 1)
|
||||
close(values)
|
||||
send(values, 42) }
|
||||
Reference in new issue
Block a user