1
0
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:
Hunam
2022-05-06 19:42:01 +02:00
committed by GitHub
parent ce99a306c0
commit 0699f324b5
4 changed files with 66 additions and 6 deletions

View File

@ -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