mirror of
https://github.com/shazow/ssh-chat.git
synced 2025-04-17 17:32:22 +03:00
66 lines
1.0 KiB
Go
66 lines
1.0 KiB
Go
package chat
|
|
|
|
import "testing"
|
|
|
|
func equal(a []interface{}, b []string) bool {
|
|
if len(a) != len(b) {
|
|
return false
|
|
}
|
|
|
|
for i := 0; i < len(a); i++ {
|
|
if a[0] != b[0] {
|
|
return false
|
|
}
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
func TestHistory(t *testing.T) {
|
|
var r []interface{}
|
|
var expected []string
|
|
var size int
|
|
|
|
h := NewHistory(5)
|
|
|
|
r = h.Get(10)
|
|
expected = []string{}
|
|
if !equal(r, expected) {
|
|
t.Errorf("Got: %v, Expected: %v", r, expected)
|
|
}
|
|
|
|
h.Add("1")
|
|
|
|
if size = h.Len(); size != 1 {
|
|
t.Errorf("Wrong size: %v", size)
|
|
}
|
|
|
|
r = h.Get(1)
|
|
expected = []string{"1"}
|
|
if !equal(r, expected) {
|
|
t.Errorf("Got: %v, Expected: %v", r, expected)
|
|
}
|
|
|
|
h.Add("2")
|
|
h.Add("3")
|
|
h.Add("4")
|
|
h.Add("5")
|
|
h.Add("6")
|
|
|
|
if size = h.Len(); size != 5 {
|
|
t.Errorf("Wrong size: %v", size)
|
|
}
|
|
|
|
r = h.Get(2)
|
|
expected = []string{"5", "6"}
|
|
if !equal(r, expected) {
|
|
t.Errorf("Got: %v, Expected: %v", r, expected)
|
|
}
|
|
|
|
r = h.Get(10)
|
|
expected = []string{"2", "3", "4", "5", "6"}
|
|
if !equal(r, expected) {
|
|
t.Errorf("Got: %v, Expected: %v", r, expected)
|
|
}
|
|
}
|