@@ -8,16 +8,12 @@ import (
88 "sync/atomic"
99 "testing"
1010 "time"
11-
12- "github.com/stretchr/testify/assert"
1311)
1412
1513const waitTime = time .Second / 10
1614
1715func TestCache_DeleteKeys (t * testing.T ) {
1816 t .Run ("simple" , func (t * testing.T ) {
19- at := assert .New (t )
20-
2117 c := newCache ()
2218 k1 := cacheKey ("k1" )
2319 k2 := cacheKey ("k2" )
@@ -33,25 +29,23 @@ func TestCache_DeleteKeys(t *testing.T) {
3329
3430 c .DeleteKeys (k1 , k2 )
3531 _ , ok := c .get (k1 )
36- at . False ( ok )
32+ requireFalse ( t , ok )
3733 _ , ok = c .get (k2 )
38- at . False ( ok )
34+ requireFalse ( t , ok )
3935 res , ok := c .get (k3 )
40- at . True ( ok )
41- at . Equal ( val1 , res .res .Value )
36+ requireTrue ( t , ok )
37+ requireEquals ( t , val1 , res .res .Value .( string ) )
4238
4339 val2 := "test2"
4440 c .setOnce (k1 , func () (res * Result , err error ) {
4541 return NewResult (val2 ), nil
4642 })
4743 res , ok = c .get (k1 )
48- at . True ( ok )
49- at . Equal ( val2 , res .res .Value )
44+ requireTrue ( t , ok )
45+ requireEquals ( t , val2 , res .res .Value .( string ) )
5046 })
5147
5248 t .Run ("mutex" , func (t * testing.T ) {
53- at := assert .New (t )
54-
5549 c := newCache ()
5650 c .setOnce ("asd" , func () (res * Result , err error ) {
5751 return NewResult (nil ), nil
@@ -66,45 +60,42 @@ func TestCache_DeleteKeys(t *testing.T) {
6660 }()
6761
6862 time .Sleep (waitTime )
69- at . Len ( c .store , 1 )
70- at . Len ( c .setLocks , 1 )
63+ requireEquals ( t , len ( c .store ) , 1 )
64+ requireEquals ( t , len ( c .setLocks ) , 1 )
7165
7266 c .m .RUnlock ()
7367 wg .Wait ()
74- at . Len ( c .store , 0 )
75- at . Len ( c .setLocks , 0 )
68+ requireEquals ( t , len ( c .store ) , 0 )
69+ requireEquals ( t , len ( c .setLocks ) , 0 )
7670 })
7771}
7872
7973func TestCache_Get (t * testing.T ) {
8074 t .Run ("simple" , func (t * testing.T ) {
81- at := assert .New (t )
8275 c := newCache ()
8376
8477 _ , ok := c .get ("qwe" )
85- at . False ( ok )
78+ requireFalse ( t , ok )
8679
8780 c .store ["asd" ] = cacheVal {res : NewResult ("val" )}
8881
8982 res , ok := c .get ("asd" )
90- at . True ( ok )
91- at . Equal ( cacheVal {res : NewResult ("val" )}, res )
83+ requireTrue ( t , ok )
84+ requireEquals ( t , cacheVal {res : NewResult ("val" )}, res )
9285 })
9386
9487 t .Run ("read_mutex" , func (t * testing.T ) {
95- at := assert .New (t )
9688 c := newCache ()
9789 c .setOnce ("asd" , func () (res * Result , err error ) {
9890 return NewResult (nil ), nil
9991 })
10092 c .m .RLock ()
10193 _ , ok := c .get ("asd" )
10294 c .m .RUnlock ()
103- at . True ( ok )
95+ requireTrue ( t , ok )
10496 })
10597
10698 t .Run ("write_mutex" , func (t * testing.T ) {
107- at := assert .New (t )
10899 c := newCache ()
109100 c .setOnce ("asd" , func () (res * Result , err error ) {
110101 return NewResult (nil ), nil
@@ -119,42 +110,39 @@ func TestCache_Get(t *testing.T) {
119110 }()
120111
121112 time .Sleep (waitTime )
122- at . False ( ok )
113+ requireFalse ( t , ok )
123114
124115 c .m .Unlock ()
125116 wg .Wait ()
126117
127- at . True ( ok )
118+ requireTrue ( t , ok )
128119 })
129120
130121}
131122
132123func TestCache_SetOnce (t * testing.T ) {
133124 t .Run ("save_new_key" , func (t * testing.T ) {
134- at := assert .New (t )
135-
136125 c := newCache ()
137126 cnt := 0
138127 key1 := cacheKey ("1" )
139128 c .setOnce (key1 , func () (res * Result , err error ) {
140129 cnt ++
141130 return NewResult (1 ), nil
142131 })
143- at . Equal ( 1 , cnt )
144- at . Equal ( 1 , c .store [key1 ].res .Value )
145- at . NoError ( c .store [key1 ].err )
132+ requireEquals ( t , 1 , cnt )
133+ requireEquals ( t , 1 , c .store [key1 ].res .Value )
134+ noError ( t , c .store [key1 ].err )
146135
147136 c .setOnce (key1 , func () (res * Result , err error ) {
148137 cnt ++
149138 return NewResult (2 ), nil
150139 })
151- at . Equal ( 1 , cnt )
152- at . Equal ( 1 , c .store [key1 ].res .Value )
153- at . NoError ( c .store [key1 ].err )
140+ requireEquals ( t , 1 , cnt )
141+ requireEquals ( t , 1 , c .store [key1 ].res .Value )
142+ noError ( t , c .store [key1 ].err )
154143 })
155144
156145 t .Run ("second_set_val" , func (t * testing.T ) {
157- at := assert .New (t )
158146 c := newCache ()
159147 key1 := cacheKey ("1" )
160148 key2 := cacheKey ("2" )
@@ -167,16 +155,15 @@ func TestCache_SetOnce(t *testing.T) {
167155 cnt ++
168156 return NewResult (2 ), nil
169157 })
170- at . Equal ( 2 , cnt )
171- at . Equal ( 1 , c .store [key1 ].res .Value )
172- at . NoError ( c .store [key1 ].err )
173- at . Equal ( 2 , c .store [key2 ].res .Value )
174- at . NoError ( c .store [key2 ].err )
158+ requireEquals ( t , 2 , cnt )
159+ requireEquals ( t , 1 , c .store [key1 ].res .Value )
160+ noError ( t , c .store [key1 ].err )
161+ requireEquals ( t , 2 , c .store [key2 ].res .Value )
162+ noError ( t , c .store [key2 ].err )
175163 })
176164
177165 // exit without return value
178166 t .Run ("exit_without_return" , func (t * testing.T ) {
179- at := assert .New (t )
180167 c := newCache ()
181168 key := cacheKey ("3" )
182169 var wg sync.WaitGroup
@@ -190,12 +177,11 @@ func TestCache_SetOnce(t *testing.T) {
190177 }()
191178 wg .Wait ()
192179
193- at . Nil ( c .store [key ].res )
194- at . Error ( c .store [key ].err )
180+ requireNil ( t , c .store [key ].res )
181+ isError ( t , c .store [key ].err )
195182 })
196183
197184 t .Run ("second_func_same_key_wait" , func (t * testing.T ) {
198- at := assert .New (t )
199185 c := newCache ()
200186 key := cacheKey ("1" )
201187
@@ -239,8 +225,8 @@ func TestCache_SetOnce(t *testing.T) {
239225 // second not work until first finished
240226 doneSecondVal := atomic .LoadInt64 (& doneSecond )
241227 _ , ok := c .store [key ]
242- at . False ( ok )
243- at . Equal ( int64 (0 ), doneSecondVal )
228+ requireFalse ( t , ok )
229+ requireEquals ( t , int64 (0 ), doneSecondVal )
244230
245231 close (firstMuNeedFinish )
246232
@@ -251,12 +237,11 @@ func TestCache_SetOnce(t *testing.T) {
251237 <- secondFinished
252238
253239 doneSecondVal = atomic .LoadInt64 (& doneSecond )
254- at . Equal ( 1 , c .store [key ].res .Value )
255- at . Equal ( int64 (1 ), doneSecondVal )
240+ requireEquals ( t , 1 , c .store [key ].res .Value )
241+ requireEquals ( t , int64 (1 ), doneSecondVal )
256242 })
257243
258244 t .Run ("second_func_other_key_work" , func (t * testing.T ) {
259- at := assert .New (t )
260245 c := newCache ()
261246 key1 := cacheKey ("1" )
262247 key2 := cacheKey ("2" )
@@ -295,8 +280,8 @@ func TestCache_SetOnce(t *testing.T) {
295280 // wait first func finished
296281 <- firstMuFinished
297282
298- at . Equal ( 1 , c .store [key1 ].res .Value )
299- at . Equal ( 2 , c .store [key2 ].res .Value )
283+ requireEquals ( t , 1 , c .store [key1 ].res .Value )
284+ requireEquals ( t , 2 , c .store [key2 ].res .Value )
300285 })
301286}
302287
0 commit comments