v2 / vlib / v / tests / builtin_maps / map_alias_key_test.v
34 lines · 32 sloc · 637 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1type Type = int
2type RType = rune
3
4fn test_map_key_alias() {
5 mut m_int := {
6 12: '12'
7 2: '2'
8 }
9 m_int[14] = '14'
10 m_int[Type(15)] = '15'
11 assert m_int.str() == "{12: '12', 2: '2', 14: '14', 15: '15'}"
12 //// /// ///// //
13 mut m_rune := {
14 `a`: '12'
15 `l`: '14'
16 }
17 m_rune[`g`] = '12'
18 m_rune[RType(`$`)] = '16'
19 assert m_rune.str() == "{`a`: '12', `l`: '14', `g`: '12', `$`: '16'}"
20}
21
22fn test_map_alias_key_init() {
23 m_int := {
24 Type(12): '12'
25 Type(2): '2'
26 }
27 assert m_int.str() == "{12: '12', 2: '2'}"
28 //// // ///// //
29 m_rune := {
30 RType(`a`): '12'
31 RType(`l`): '14'
32 }
33 assert m_rune.str() == "{`a`: '12', `l`: '14'}"
34}
35