1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
package pds
import (
g "gobang"
)
func MainTest() {
g.Testing("NewSortedMap[string, any]().Set()", func() {
m := NewSortedMap[string, any](nil)
m = m.Set("foo", "bar")
m = m.Set("baz", 100)
v, ok := m.Get("foo")
g.TAssertEqual(v, "bar")
g.TAssertEqual(ok, true)
v, ok = m.Get("baz")
g.TAssertEqual(v, 100)
g.TAssertEqual(ok, true)
v, ok = m.Get("bat") // does not exist
g.TAssertEqual(v, nil)
g.TAssertEqual(ok, false)
})
g.Testing("NewSortedMap[string, any]().Delete()", func() {
m := NewSortedMap[string, any](nil)
m = m.Set("foo", "bar")
m = m.Set("baz", 100)
m = m.Delete("baz")
v, ok := m.Get("foo")
g.TAssertEqual(v, "bar")
g.TAssertEqual(ok, true)
v, ok = m.Get("baz")
g.TAssertEqual(v, nil)
g.TAssertEqual(ok, false)
})
g.Testing("NewSortedMap[string, any]().Iterator()", func() {
m := NewSortedMap[string, int](nil)
m = m.Set("strawberry", 900)
m = m.Set("kiwi", 300)
m = m.Set("apple", 100)
m = m.Set("pear", 700)
m = m.Set("pineapple", 800)
m = m.Set("peach", 600)
m = m.Set("orange", 500)
m = m.Set("grape", 200)
m = m.Set("mango", 400)
keys := []string{}
values := []int{}
itr := m.Iterator()
for !itr.Done() {
k, v, _ := itr.Next()
keys = append(keys, k)
values = append(values, v)
}
g.TAssertEqual(keys, []string{
"apple",
"grape",
"kiwi",
"mango",
"orange",
"peach",
"pear",
"pineapple",
"strawberry",
})
g.TAssertEqual(values, []int{
100,
200,
300,
400,
500,
600,
700,
800,
900,
})
})
}
|