aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/sortedmap-api
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-12-27 04:55:33 -0300
committerEuAndreh <eu@euandre.org>2024-12-27 04:55:33 -0300
commit2764d269764e5c34c0d94ea58a5544692762560d (patch)
treeb90c4bf1b9905566c00f9a7436c2cc79f1c8d843 /tests/functional/sortedmap-api
parentAdd Makefile and move files to structured folders (diff)
downloadpds-2764d269764e5c34c0d94ea58a5544692762560d.tar.gz
pds-2764d269764e5c34c0d94ea58a5544692762560d.tar.xz
tests/pds.go: Move benchmarks and examples to separate test files
Diffstat (limited to 'tests/functional/sortedmap-api')
l---------tests/functional/sortedmap-api/main.go1
-rw-r--r--tests/functional/sortedmap-api/pds.go89
2 files changed, 90 insertions, 0 deletions
diff --git a/tests/functional/sortedmap-api/main.go b/tests/functional/sortedmap-api/main.go
new file mode 120000
index 0000000..f67563d
--- /dev/null
+++ b/tests/functional/sortedmap-api/main.go
@@ -0,0 +1 @@
+../../main.go \ No newline at end of file
diff --git a/tests/functional/sortedmap-api/pds.go b/tests/functional/sortedmap-api/pds.go
new file mode 100644
index 0000000..1a182c1
--- /dev/null
+++ b/tests/functional/sortedmap-api/pds.go
@@ -0,0 +1,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,
+ })
+ })
+}