1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package syncutils
- import (
- "fmt"
- "strconv"
- "testing"
- )
- func TestSyncSlice(t *testing.T) {
- syncSlice := NewSyncSlice([]string{"aaa", "bbb", "ccc"}, false)
- syncSlice.Append("ddd")
- syncSlice.Range(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- syncSlice.DeleteAt(3)
- syncSlice.Range(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- syncSlice.Lock()
- syncSlice.AppendNoLock("ddd")
- syncSlice.RangeNoLock(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- syncSlice.DeleteAtNoLock(3)
- syncSlice.RangeNoLock(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- syncSlice.Unlock()
- rwSyncSlice := NewSyncSlice([]string{"aaa", "bbb", "ccc"}, true)
- rwSyncSlice.Append("ddd")
- rwSyncSlice.Range(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- rwSyncSlice.DeleteAt(3)
- rwSyncSlice.Range(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- rwSyncSlice.Lock()
- rwSyncSlice.AppendNoLock("ddd")
- rwSyncSlice.RangeNoLock(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- rwSyncSlice.DeleteAtNoLock(3)
- rwSyncSlice.RangeNoLock(func(index int, e string) bool {
- fmt.Println("Index", strconv.Itoa(index)+":", e)
- return false
- })
- fmt.Println()
- rwSyncSlice.Unlock()
- }
|