v2 / vlib / v / tests / comptime / comptime_generic_map_test.v
27 lines · 24 sloc · 375 bytes · f23ae9a15e98ea68c6f107b348fa631442a1ca64
Raw
1module main
2
3fn validate[T](values map[string]T, rules map[string][]string) ! {
4 for key, _ in rules {
5 value := values[key]!
6 assert typeof(value).name == T.name
7 }
8}
9
10fn test_main() {
11 validate({
12 'age': 31
13 }, {
14 'age': [
15 'required',
16 ]
17 }) or { assert false }
18
19 validate({
20 'foo': 'bar'
21 }, {
22 'foo': [
23 'required',
24 ]
25 }) or { assert false }
26 assert true
27}
28