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