-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServerAndClient_test.go
More file actions
77 lines (73 loc) · 1.21 KB
/
Copy pathServerAndClient_test.go
File metadata and controls
77 lines (73 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package main
import (
"bytes"
"testing"
)
const testResult = `Hpt
Pp
0003
SOE0002po0001
Hpt
Pp
0003
SOE0002po0001
Hpt
Pp
0003
SOE0002po0001
Hpt
Pp
0003
SOE0002po0001
Hpt
Pp
0003
SOE0002po0001
Hpt
Pp
0003
SOE0002po0001
Hpt
Pp
0003
SOE0002po0001
Hpt
Pp
0003
SOE0002po0001
`
func TestServerAndClient(t *testing.T) {
port := "9922"
host := "127.0.0.1:9922"
readChan := make(chan []byte, 1)
writeChan := make(chan []byte, 1)
//Create server
go StartServerIfClient(port, "", readChan, writeChan)
//Create client
go StartServerIfClient(port, host, readChan, writeChan)
//Create writeChanFunc
go writeChanFunc(writeChan)
//readChan
in := bytes.NewBuffer(<-readChan)
_, _ = in.Write([]byte("\n"))
for i := 0; i < 31; i++ {
message := <-readChan
_, err := in.Write(message[:])
if err != nil {
t.Errorf("Exeption write in Buffer")
}
_, _ = in.Write([]byte("\n"))
}
result := in.String()
if result != testResult {
t.Errorf("test for OK Failed - results not match\nGot:\n%v\nExpected:\n%v", result, testResult)
}
}
func writeChanFunc(writeChan chan<- []byte) {
for s := 0; s < 8; s++ {
writeChan <- []byte("Hpt")
writeChan <- []byte("Pp")
writeChan <- []byte("0003")
writeChan <- []byte("SOE0002po0001")
}
}