]> Sergey Matveev's repositories - btrtrc.git/blob - worse-conns_test.go
Abstract worseConn comparisons and add tests
[btrtrc.git] / worse-conns_test.go
1 package torrent
2
3 import (
4         "testing"
5         "time"
6
7         qt "github.com/frankban/quicktest"
8 )
9
10 func TestWorseConnLastHelpful(t *testing.T) {
11         c := qt.New(t)
12         c.Check(worseConnInput{}.Less(worseConnInput{LastHelpful: time.Now()}), qt.IsTrue)
13         c.Check(worseConnInput{}.Less(worseConnInput{CompletedHandshake: time.Now()}), qt.IsTrue)
14         c.Check(worseConnInput{LastHelpful: time.Now()}.Less(worseConnInput{CompletedHandshake: time.Now()}), qt.IsFalse)
15         c.Check(worseConnInput{
16                 LastHelpful: time.Now(),
17         }.Less(worseConnInput{
18                 LastHelpful:        time.Now(),
19                 CompletedHandshake: time.Now(),
20         }), qt.IsTrue)
21         now := time.Now()
22         c.Check(worseConnInput{
23                 LastHelpful: now,
24         }.Less(worseConnInput{
25                 LastHelpful:        now.Add(-time.Nanosecond),
26                 CompletedHandshake: now,
27         }), qt.IsFalse)
28         c.Check(worseConnInput{}.Less(worseConnInput{Pointer: 1}), qt.IsTrue)
29         c.Check(worseConnInput{Pointer: 2}.Less(worseConnInput{Pointer: 1}), qt.IsFalse)
30 }