package concurrent import ( "log" "testing" ) func TestQueue(t *testing.T) { q := NewQueue() q.Push("one", "two", "three") q.Push("four") q.Push("five") t.Log(q) for { if val, check := q.Pop(); check { t.Log(val, q.Size()) } else { break } } t.Log(q) } func showList(l *List) { } func TestList(t *testing.T) { l := NewList() log.Println(l) for i := 0; i < 10; i++ { l.PushFront(i) } log.Println(l.Slice(), l.Size()) elem := l.Index(0) log.Println(elem) l.Remove(elem) log.Println(l.Slice()) for l.Size() > 0 { l.Remove(l.First()) log.Println(l.Slice(), l.Size()) } log.Println(l.first, l.last) l.PushBack(100) log.Println(l.Slice(), l.Size(), l.first, l.last) sl := make([]interface{}, 10) for i := range sl { sl[i] = i * 100 } log.Println(sl) l = ListFromSlise(sl) log.Println(l.Slice()) elem = l.Search(500) log.Println(elem) elem = l.Search(1500) log.Println(1500, "search", elem) elem, added := l.PushBackIfNotExists(500) log.Println(500, elem, added) elem, added = l.PushBackIfNotExists(1500) log.Println(1500, elem, added) }