From ec5e0031d517dd77c458fa9d01452a6784b4c55b Mon Sep 17 00:00:00 2001 From: zkqiang Date: Tue, 24 Mar 2020 13:10:31 +0800 Subject: [PATCH] updated chan_test --- backend/utils/chan_test.go | 44 ++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/backend/utils/chan_test.go b/backend/utils/chan_test.go index 7b5f1bba..4bc75917 100644 --- a/backend/utils/chan_test.go +++ b/backend/utils/chan_test.go @@ -2,75 +2,77 @@ package utils import ( . "github.com/smartystreets/goconvey/convey" + "sync" "testing" ) func TestNewChanMap(t *testing.T) { - mapTest := make(map[string]chan string) + mapTest := sync.Map{} chanTest := make(chan string) test := "test" Convey("Call NewChanMap to generate ChanMap", t, func() { - mapTest[test] = chanTest + mapTest.Store("test", chanTest) chanMapTest := ChanMap{mapTest} chanMap := NewChanMap() - chanMap.m[test] = chanTest + chanMap.m.Store("test", chanTest) Convey(test, func() { - So(chanMap, ShouldResemble, &chanMapTest) + v1, ok := chanMap.m.Load("test") + So(ok, ShouldBeTrue) + v2, ok := chanMapTest.m.Load("test") + So(ok, ShouldBeTrue) + So(v1, ShouldResemble, v2) }) - }) } func TestChan(t *testing.T) { - mapTest := make(map[string]chan string) + mapTest := sync.Map{} chanTest := make(chan string) - mapTest["test"] = chanTest + mapTest.Store("test", chanTest) chanMapTest := ChanMap{mapTest} Convey("Test Chan use exist key", t, func() { - ch1 := chanMapTest.Chan( - "test") + ch1 := chanMapTest.Chan("test") Convey("ch1 should equal chanTest", func() { So(ch1, ShouldEqual, chanTest) }) - }) Convey("Test Chan use no-exist key", t, func() { ch2 := chanMapTest.Chan("test2") Convey("ch2 should equal chanMapTest.m[test2]", func() { - - So(chanMapTest.m["test2"], ShouldEqual, ch2) + v, ok := chanMapTest.m.Load("test2") + So(ok, ShouldBeTrue) + So(v, ShouldEqual, ch2) }) Convey("Cap of chanMapTest.m[test2] should equal 10", func() { - So(10, ShouldEqual, cap(chanMapTest.m["test2"])) + So(10, ShouldEqual, cap(ch2)) }) }) } func TestChanBlocked(t *testing.T) { - mapTest := make(map[string]chan string) + mapTest := sync.Map{} chanTest := make(chan string) - mapTest["test"] = chanTest + mapTest.Store("test", chanTest) chanMapTest := ChanMap{mapTest} Convey("Test Chan use exist key", t, func() { - ch1 := chanMapTest.ChanBlocked( - "test") + ch1 := chanMapTest.ChanBlocked("test") Convey("ch1 should equal chanTest", func() { So(ch1, ShouldEqual, chanTest) }) - }) Convey("Test Chan use no-exist key", t, func() { ch2 := chanMapTest.ChanBlocked("test2") Convey("ch2 should equal chanMapTest.m[test2]", func() { - - So(chanMapTest.m["test2"], ShouldEqual, ch2) + v, ok := chanMapTest.m.Load("test2") + So(ok, ShouldBeTrue) + So(v, ShouldEqual, ch2) }) Convey("Cap of chanMapTest.m[test2] should equal 10", func() { - So(0, ShouldEqual, cap(chanMapTest.m["test2"])) + So(0, ShouldEqual, cap(ch2)) }) }) }