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
|
package hotline
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestMemChatManager(t *testing.T) {
cc1 := &ClientConn{ID: [2]byte{1}}
cc2 := &ClientConn{ID: [2]byte{2}}
cm := NewMemChatManager()
// Create a new chat with cc1 as initial member.
randChatID := cm.New(cc1)
assert.Equalf(t, []*ClientConn{cc1}, cm.Members(randChatID), "Initial ChatMembers")
// Second client joins.
cm.Join(randChatID, cc2)
assert.Equalf(t, []*ClientConn{cc1, cc2}, cm.Members(randChatID), "ChatMembers")
// Initial subject is blank.
assert.Equalf(t, "", cm.GetSubject(randChatID), "ChatMembers")
// Update subject.
cm.SetSubject(randChatID, "test")
assert.Equalf(t, "test", cm.GetSubject(randChatID), "ChatMembers")
// Second client leaves.
cm.Leave(randChatID, cc2.ID)
assert.Equalf(t, []*ClientConn{cc1}, cm.Members(randChatID), "ChatMembers")
//
//type fields struct {
// chats map[ChatID]*PrivateChat
//}
//type args struct {
// cc *ClientConn
//}
//tests := []struct {
// name string
// fields fields
// args args
// want ChatID
//}{
// {
// name: "creates new chat",
// fields: fields{
// chats: make(map[ChatID]*PrivateChat),
// },
// args: args{
// cc: &ClientConn{ID: [2]byte{1}},
// },
// //want: ,
// },
//}
//for _, tt := range tests {
// t.Run(tt.name, func(t *testing.T) {
// cm := &MemChatManager{
// chats: tt.fields.chats,
// mu: sync.Mutex{},
// }
//
// assert.Equalf(t, tt.want, cm.New(tt.args.cc), "New(%v)", tt.args.cc)
// })
//}
}
|