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, }) }) }