You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
starmap/starmap_test.go

60 lines
1.2 KiB
Go

package starmap
import (
"fmt"
"math/rand"
"testing"
"time"
)
type Miaomiao struct {
Val1 string
Val2 int
Val3 bool
}
func Test_Remote(t *testing.T) {
Store("test", 22222)
server, _ := NewServer("tcp", "127.0.0.1:45678")
server.Register(&Miaomiao{})
client, _ := NewClient("tcp", "127.0.0.1:45678", time.Second*2)
_ = server
fmt.Println(client.Get("meow"))
fmt.Println(client.Exists("meow"))
fmt.Println(client.Store("meow", Miaomiao{"sss", 222, true}))
fmt.Println(client.Get("meow"))
fmt.Println(client.Exists("meow"))
fmt.Println(client.Delete("meow"))
fmt.Println(client.Exists("meow"))
}
func (cat *Miaomiao) GetName() string {
return "meow"
}
func Test_Math(t *testing.T) {
wg := NewWaitGroup(5000)
rand.Seed(time.Now().UnixNano())
waitfn := func(wg *WaitGroup, num int) {
defer wg.Done()
fmt.Println(num)
time.Sleep(time.Second * time.Duration(2+rand.Intn(3)))
}
for i := 0; i <= 3214670; i++ {
wg.Add(1)
if i == 34567 {
wg.SetMaxWaitNum(50000)
}
if i == 123456 {
wg.SetMaxWaitNum(210456)
}
if i == 323456 {
wg.SetMaxWaitNum(2104562)
}
go waitfn(&wg, i)
}
fmt.Println("Waiting~~~~~~~~~~")
wg.Wait()
fmt.Println(wg.allCount)
}