mirror of
https://github.com/shazow/ssh-chat.git
synced 2025-04-12 07:10:05 +03:00
44 lines
722 B
Go
44 lines
722 B
Go
package chat
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/shazow/ssh-chat/chat/message"
|
|
"github.com/shazow/ssh-chat/set"
|
|
)
|
|
|
|
func TestSet(t *testing.T) {
|
|
var err error
|
|
s := set.New()
|
|
u := message.NewUser(message.SimpleID("foo"))
|
|
|
|
if s.In(u.ID()) {
|
|
t.Errorf("Set should be empty.")
|
|
}
|
|
|
|
err = s.Add(set.Itemize(u.ID(), u))
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
if !s.In(u.ID()) {
|
|
t.Errorf("Set should contain user.")
|
|
}
|
|
|
|
u2 := message.NewUser(message.SimpleID("bar"))
|
|
err = s.Add(set.Itemize(u2.ID(), u2))
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
err = s.Add(set.Itemize(u2.ID(), u2))
|
|
if err != set.ErrCollision {
|
|
t.Error(err)
|
|
}
|
|
|
|
size := s.Len()
|
|
if size != 2 {
|
|
t.Errorf("Set wrong size: %d (expected %d)", size, 2)
|
|
}
|
|
}
|