mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
builtin: add map.values()
(#14301)
This commit is contained in:
@ -47,6 +47,16 @@ fn test_keys_many() {
|
||||
assert keys == strings
|
||||
}
|
||||
|
||||
fn test_values_many() {
|
||||
mut m := map[string]int{}
|
||||
for i, s in strings {
|
||||
m[s] = i
|
||||
}
|
||||
values := m.values()
|
||||
assert values.len == strings.len
|
||||
assert values.len == m.len
|
||||
}
|
||||
|
||||
fn test_deletes_many() {
|
||||
mut m := map[string]int{}
|
||||
for i, s in strings {
|
||||
@ -59,6 +69,7 @@ fn test_deletes_many() {
|
||||
}
|
||||
assert m.len == 0
|
||||
assert m.keys().len == 0
|
||||
assert m.values().len == 0
|
||||
}
|
||||
|
||||
struct User {
|
||||
@ -103,6 +114,13 @@ fn test_map() {
|
||||
assert m['hi'] == 0
|
||||
assert m.keys().len == 1
|
||||
assert m.keys()[0] == 'hello'
|
||||
// Test `.values()`
|
||||
values := m.values()
|
||||
assert values.len == 1
|
||||
assert 80 !in values
|
||||
assert 101 in values
|
||||
assert m.values().len == 1
|
||||
assert m.values()[0] == 101
|
||||
// //
|
||||
mut users := map[string]User{}
|
||||
users['1'] = User{'Peter'}
|
||||
@ -580,6 +598,7 @@ fn test_int_keys() {
|
||||
4: 16
|
||||
5: 25
|
||||
}
|
||||
assert m2.values() == [9, 16, 25]
|
||||
|
||||
assert m2.len == 3
|
||||
// clone
|
||||
@ -636,6 +655,16 @@ fn test_voidptr_keys() {
|
||||
assert m.len == 2
|
||||
}
|
||||
|
||||
fn test_voidptr_values() {
|
||||
mut m := map[string]voidptr{}
|
||||
v := 5
|
||||
m['var'] = &v
|
||||
m['map'] = &m
|
||||
assert m['var'] == &v
|
||||
assert m['map'] == &m
|
||||
assert m.values().len == 2
|
||||
}
|
||||
|
||||
fn test_rune_keys() {
|
||||
mut m := {
|
||||
`!`: 2
|
||||
|
Reference in New Issue
Block a user