7 func TestAddDel(t *testing.T) {
8 syncPeers := newFastSyncPeers()
9 peers := make(map[string]bool)
12 for k := range peers {
16 if syncPeers.size() != len(peers) {
17 t.Errorf("add peer test err: got %d\nwant %d", syncPeers.size(), len(peers))
20 syncPeers.delete("Peer1")
21 if syncPeers.size() != 1 {
22 t.Errorf("add peer test err: got %d\nwant %d", syncPeers.size(), 1)
25 syncPeers.delete("Peer1")
26 if syncPeers.size() != 1 {
27 t.Errorf("add peer test err: got %d\nwant %d", syncPeers.size(), 1)
31 func TestIdlePeers(t *testing.T) {
32 syncPeers := newFastSyncPeers()
33 peers := make(map[string]bool)
36 for k := range peers {
41 idlePeers := syncPeers.selectIdlePeers()
42 if len(idlePeers) != len(peers) {
43 t.Errorf("selcet idle peers test err: got %d\nwant %d", len(idlePeers), len(peers))
46 for _, peer := range idlePeers {
47 if ok := peers[peer]; !ok {
48 t.Errorf("selcet idle peers test err: want peers %v got %v", peers, idlePeers)
52 idlePeers = syncPeers.selectIdlePeers()
53 if len(idlePeers) != 0 {
54 t.Errorf("selcet idle peers test err: got %d\nwant %d", len(idlePeers), 0)
59 func TestIdlePeer(t *testing.T) {
60 syncPeers := newFastSyncPeers()
61 peers := make(map[string]bool)
64 for k := range peers {
68 idlePeer, err := syncPeers.selectIdlePeer()
70 t.Errorf("selcet idle peers test err: got %v\nwant %v", err, nil)
73 if ok := peers[idlePeer]; !ok {
74 t.Error("selcet idle peers test err.")
76 idlePeer, err = syncPeers.selectIdlePeer()
78 t.Errorf("selcet idle peers test err: got %v\nwant %v", err, nil)
81 if ok := peers[idlePeer]; !ok {
82 t.Error("selcet idle peers test err.")
84 idlePeer, err = syncPeers.selectIdlePeer()
85 if err != errNoValidFastSyncPeer {
86 t.Errorf("selcet idle peers test err: got %v\nwant %v", err, errNoValidFastSyncPeer)
90 func TestSetIdle(t *testing.T) {
91 syncPeers := newFastSyncPeers()
92 peers := make(map[string]bool)
94 for k := range peers {
97 if syncPeers.size() != len(peers) {
98 t.Errorf("add peer test err: got %d\nwant %d", syncPeers.size(), len(peers))
100 idlePeers := syncPeers.selectIdlePeers()
101 if len(idlePeers) != len(peers) {
102 t.Errorf("selcet idle peers test err: got %d\nwant %d", len(idlePeers), len(peers))
105 syncPeers.setIdle("Peer1")
106 idlePeers = syncPeers.selectIdlePeers()
107 if len(idlePeers) != 0 {
108 t.Errorf("selcet idle peers test err: got %d\nwant %d", len(idlePeers), 0)
111 syncPeers.setIdle("Peer2")
112 idlePeers = syncPeers.selectIdlePeers()
113 if len(idlePeers) != len(peers) {
114 t.Errorf("selcet idle peers test err: got %d\nwant %d", len(idlePeers), len(peers))