aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/map-api/pds.go
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/map-api/pds.go')
-rw-r--r--tests/functional/map-api/pds.go88
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/functional/map-api/pds.go b/tests/functional/map-api/pds.go
new file mode 100644
index 0000000..2fc0a8c
--- /dev/null
+++ b/tests/functional/map-api/pds.go
@@ -0,0 +1,88 @@
+package pds
+
+import (
+ g "gobang"
+)
+
+
+
+func MainTest() {
+ g.Testing("NewMap[]().Set()", func() {
+ m := NewMap[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")
+ g.TAssertEqual(v, nil)
+ g.TAssertEqual(ok, false)
+ })
+
+ g.Testing("NewMap[]().Delete()", func() {
+ m := NewMap[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("NewMap[]().Iterator()", func() {
+ m := NewMap[string, int](nil)
+ m = m.Set("apple", 100)
+ m = m.Set("grape", 200)
+ m = m.Set("kiwi", 300)
+ m = m.Set("mango", 400)
+ m = m.Set("orange", 500)
+ m = m.Set("peach", 600)
+ m = m.Set("pear", 700)
+ m = m.Set("pineapple", 800)
+ m = m.Set("strawberry", 900)
+
+ 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{
+ "mango",
+ "pear",
+ "pineapple",
+ "grape",
+ "orange",
+ "strawberry",
+ "kiwi",
+ "peach",
+ "apple",
+ })
+ g.TAssertEqual(values, []int{
+ 400,
+ 700,
+ 800,
+ 200,
+ 500,
+ 900,
+ 300,
+ 600,
+ 100,
+ })
+ })
+}