44package connctx
55
66import (
7- "bytes"
87 "context"
98 "errors"
109 "io"
1110 "net"
1211 "testing"
1312 "time"
13+
14+ "github.com/stretchr/testify/assert"
1415)
1516
1617func TestRead (t * testing.T ) {
@@ -30,20 +31,12 @@ func TestRead(t *testing.T) {
3031 c := New (ca )
3132 b := make ([]byte , 100 )
3233 n , err := c .ReadContext (context .Background (), b )
33- if err != nil {
34- t .Fatal (err )
35- }
36- if n != len (data ) {
37- t .Errorf ("Wrong data length, expected %d, got %d" , len (data ), n )
38- }
39- if ! bytes .Equal (data , b [:n ]) {
40- t .Errorf ("Wrong data, expected %v, got %v" , data , b )
41- }
34+ assert .NoError (t , err )
35+ assert .Len (t , data , n )
36+ assert .Equal (t , data , b [:n ])
4237
4338 err = <- chErr
44- if err != nil {
45- t .Fatal (err )
46- }
39+ assert .NoError (t , err )
4740}
4841
4942func TestReadTimeout (t * testing.T ) {
@@ -58,12 +51,8 @@ func TestReadTimeout(t *testing.T) {
5851 c := New (ca )
5952 b := make ([]byte , 100 )
6053 n , err := c .ReadContext (ctx , b )
61- if err == nil {
62- t .Error ("Read unexpectedly succeeded" )
63- }
64- if n != 0 {
65- t .Errorf ("Wrong data length, expected %d, got %d" , 0 , n )
66- }
54+ assert .Error (t , err )
55+ assert .Empty (t , n )
6756}
6857
6958func TestReadCancel (t * testing.T ) {
@@ -81,12 +70,8 @@ func TestReadCancel(t *testing.T) {
8170 c := New (ca )
8271 b := make ([]byte , 100 )
8372 n , err := c .ReadContext (ctx , b )
84- if err == nil {
85- t .Error ("Read unexpectedly succeeded" )
86- }
87- if n != 0 {
88- t .Errorf ("Wrong data length, expected %d, got %d" , 0 , n )
89- }
73+ assert .Error (t , err )
74+ assert .Empty (t , n )
9075}
9176
9277func TestReadClosed (t * testing.T ) {
@@ -97,12 +82,8 @@ func TestReadClosed(t *testing.T) {
9782
9883 b := make ([]byte , 100 )
9984 n , err := c .ReadContext (context .Background (), b )
100- if ! errors .Is (err , io .EOF ) {
101- t .Errorf ("Expected error '%v', got '%v'" , io .EOF , err )
102- }
103- if n != 0 {
104- t .Errorf ("Wrong data length, expected %d, got %d" , 0 , n )
105- }
85+ assert .ErrorIs (t , err , io .EOF )
86+ assert .Empty (t , n )
10687}
10788
10889func TestWrite (t * testing.T ) {
@@ -124,21 +105,13 @@ func TestWrite(t *testing.T) {
124105 c := New (ca )
125106 data := []byte {0x01 , 0x02 , 0xFF }
126107 n , err := c .WriteContext (context .Background (), data )
127- if err != nil {
128- t .Fatal (err )
129- }
130- if n != len (data ) {
131- t .Errorf ("Wrong data length, expected %d, got %d" , len (data ), n )
132- }
108+ assert .NoError (t , err )
109+ assert .Len (t , data , n )
133110
134111 err = <- chErr
135112 b := <- chRead
136- if ! bytes .Equal (data , b ) {
137- t .Errorf ("Wrong data, expected %v, got %v" , data , b )
138- }
139- if err != nil {
140- t .Fatal (err )
141- }
113+ assert .Equal (t , b , data )
114+ assert .NoError (t , err )
142115}
143116
144117func TestWriteTimeout (t * testing.T ) {
@@ -153,12 +126,8 @@ func TestWriteTimeout(t *testing.T) {
153126 c := New (ca )
154127 b := make ([]byte , 100 )
155128 n , err := c .WriteContext (ctx , b )
156- if err == nil {
157- t .Error ("Write unexpectedly succeeded" )
158- }
159- if n != 0 {
160- t .Errorf ("Wrong data length, expected %d, got %d" , 0 , n )
161- }
129+ assert .Error (t , err )
130+ assert .Empty (t , n )
162131}
163132
164133func TestWriteCancel (t * testing.T ) {
@@ -176,12 +145,8 @@ func TestWriteCancel(t *testing.T) {
176145 c := New (ca )
177146 b := make ([]byte , 100 )
178147 n , err := c .WriteContext (ctx , b )
179- if err == nil {
180- t .Error ("Write unexpectedly succeeded" )
181- }
182- if n != 0 {
183- t .Errorf ("Wrong data length, expected %d, got %d" , 0 , n )
184- }
148+ assert .Error (t , err )
149+ assert .Empty (t , n )
185150}
186151
187152func TestWriteClosed (t * testing.T ) {
@@ -192,12 +157,8 @@ func TestWriteClosed(t *testing.T) {
192157
193158 b := make ([]byte , 100 )
194159 n , err := c .WriteContext (context .Background (), b )
195- if ! errors .Is (err , ErrClosing ) {
196- t .Errorf ("Expected error '%v', got '%v'" , ErrClosing , err )
197- }
198- if n != 0 {
199- t .Errorf ("Wrong data length, expected %d, got %d" , 0 , n )
200- }
160+ assert .ErrorIs (t , err , ErrClosing )
161+ assert .Empty (t , n )
201162}
202163
203164// Test for TestLocalAddrAndRemoteAddr.
@@ -211,26 +172,39 @@ func (a stringAddr) String() string { return a.addr }
211172
212173type connAddrMock struct {}
213174
214- func (* connAddrMock ) RemoteAddr () net.Addr { return stringAddr {"remote_net" , "remote_addr" } }
215- func (* connAddrMock ) LocalAddr () net.Addr { return stringAddr {"local_net" , "local_addr" } }
216- func (* connAddrMock ) Read (_ []byte ) (n int , err error ) { panic ("unimplemented" ) }
217- func (* connAddrMock ) Write (_ []byte ) (n int , err error ) { panic ("unimplemented" ) }
218- func (* connAddrMock ) Close () error { panic ("unimplemented" ) }
219- func (* connAddrMock ) SetDeadline (_ time.Time ) error { panic ("unimplemented" ) }
220- func (* connAddrMock ) SetReadDeadline (_ time.Time ) error { panic ("unimplemented" ) }
221- func (* connAddrMock ) SetWriteDeadline (_ time.Time ) error { panic ("unimplemented" ) }
175+ func (* connAddrMock ) RemoteAddr () net.Addr { return stringAddr {"remote_net" , "remote_addr" } }
176+ func (* connAddrMock ) LocalAddr () net.Addr { return stringAddr {"local_net" , "local_addr" } }
177+ func (* connAddrMock ) Read (_ []byte ) (n int , err error ) {
178+ panic ("unimplemented" ) //nolint
179+ }
180+
181+ func (* connAddrMock ) Write (_ []byte ) (n int , err error ) {
182+ panic ("unimplemented" ) //nolint
183+ }
184+
185+ func (* connAddrMock ) Close () error {
186+ panic ("unimplemented" ) //nolint
187+ }
188+
189+ func (* connAddrMock ) SetDeadline (_ time.Time ) error {
190+ panic ("unimplemented" ) //nolint
191+ }
192+
193+ func (* connAddrMock ) SetReadDeadline (_ time.Time ) error {
194+ panic ("unimplemented" ) //nolint
195+ }
196+
197+ func (* connAddrMock ) SetWriteDeadline (_ time.Time ) error {
198+ panic ("unimplemented" ) //nolint
199+ }
222200
223201func TestLocalAddrAndRemoteAddr (t * testing.T ) {
224202 c := New (& connAddrMock {})
225203 al := c .LocalAddr ()
226204 ar := c .RemoteAddr ()
227205
228- if al .String () != "local_addr" {
229- t .Error ("Wrong LocalAddr implementation" )
230- }
231- if ar .String () != "remote_addr" {
232- t .Error ("Wrong RemoteAddr implementation" )
233- }
206+ assert .Equal (t , "local_addr" , al .String ())
207+ assert .Equal (t , "remote_addr" , ar .String ())
234208}
235209
236210func BenchmarkBase (b * testing.B ) {
0 commit comments