ssh-chat/chat/set_test.go
2016-08-24 13:54:20 -04:00

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)
}
}