package pds import ( g "gobang" ) func MainTest() { g.Testing("NewList() - API usage", func() { l := NewList[string]().Append("foo").Append("bar").Append("baz") g.TAssertEqual(l.Get(0), "foo") g.TAssertEqual(l.Get(1), "bar") g.TAssertEqual(l.Get(2), "baz") l = l.Prepend("a").Prepend("b").Prepend("c") g.TAssertEqual(l.Get(0), "c") g.TAssertEqual(l.Get(1), "b") g.TAssertEqual(l.Get(2), "a") l = l.Set(0, "_") g.TAssertEqual(l.Get(0), "_") l = l.Slice(1, 3) g.TAssertEqual(l.Get(0), "b") g.TAssertEqual(l.Get(1), "a") g.TAssertEqual(l.Len(), 2) }) g.Testing("NewList().Iterator() - API usage", func() { l := NewList[string]() l = l.Append("foo") l = l.Append("bar") l = l.Append("baz") indexes := []int{} values := []string{} itr := l.Iterator() for !itr.Done() { i, v := itr.Next() indexes = append(indexes, i) values = append(values, v) } itr.Last() for !itr.Done() { i, v := itr.Prev() indexes = append(indexes, i) values = append(values, v) } g.TAssertEqual(indexes, []int{0, 1, 2, 2, 1, 0}) g.TAssertEqual(values, []string{ "foo", "bar", "baz", "baz", "bar", "foo", }) }) }