mirror of
https://github.com/parkan/go-hauk.git
synced 2026-05-08 16:47:46 +02:00
add unit tests
This commit is contained in:
62
model/session_test.go
Normal file
62
model/session_test.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestSessionAddPoint(t *testing.T) {
|
||||
sess := &Session{
|
||||
maxPts: 3,
|
||||
data: SessionData{
|
||||
Points: [][]any{},
|
||||
},
|
||||
}
|
||||
|
||||
for i := 0; i < 5; i++ {
|
||||
sess.AddPoint([]any{float64(i), float64(i), float64(i), 0, nil, nil})
|
||||
}
|
||||
|
||||
if len(sess.data.Points) != 3 {
|
||||
t.Errorf("expected 3 points, got %d", len(sess.data.Points))
|
||||
}
|
||||
|
||||
if sess.data.Points[0][0].(float64) != 2 {
|
||||
t.Errorf("expected oldest point to be 2, got %v", sess.data.Points[0][0])
|
||||
}
|
||||
}
|
||||
|
||||
func TestSessionGetPoints(t *testing.T) {
|
||||
sess := &Session{
|
||||
maxPts: 10,
|
||||
data: SessionData{
|
||||
Points: [][]any{
|
||||
{1.0, 1.0, 100.0, 0, nil, nil},
|
||||
{2.0, 2.0, 200.0, 0, nil, nil},
|
||||
{3.0, 3.0, 300.0, 0, nil, nil},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
pts := sess.GetPoints(150)
|
||||
if len(pts) != 2 {
|
||||
t.Errorf("expected 2 points after since=150, got %d", len(pts))
|
||||
}
|
||||
}
|
||||
|
||||
func TestSessionExpired(t *testing.T) {
|
||||
sess := &Session{
|
||||
data: SessionData{
|
||||
Expire: time.Now().Add(-time.Hour).Unix(),
|
||||
},
|
||||
}
|
||||
|
||||
if !sess.HasExpired() {
|
||||
t.Error("expected session to be expired")
|
||||
}
|
||||
|
||||
sess.data.Expire = time.Now().Add(time.Hour).Unix()
|
||||
if sess.HasExpired() {
|
||||
t.Error("expected session to not be expired")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user