mirror of
https://github.com/LBRYFoundation/lbcd.git
synced 2025-09-01 01:35:15 +00:00
Add tests for TimeSorter.
This commit is contained in:
parent
355502c970
commit
20f7c2ecd0
2 changed files with 58 additions and 0 deletions
|
@ -13,6 +13,7 @@ package btcchain
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/conformal/btcutil"
|
"github.com/conformal/btcutil"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TstCheckBlockSanity makes the internal checkBlockSanity function available to
|
// TstCheckBlockSanity makes the internal checkBlockSanity function available to
|
||||||
|
@ -26,3 +27,9 @@ func TstCheckBlockSanity(block *btcutil.Block) error {
|
||||||
func TstSetCoinbaseMaturity(maturity int64) {
|
func TstSetCoinbaseMaturity(maturity int64) {
|
||||||
coinbaseMaturity = maturity
|
coinbaseMaturity = maturity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TstTimeSorter makes the internal timeSorter type available to the test
|
||||||
|
// package.
|
||||||
|
func TstTimeSorter(times []time.Time) timeSorter {
|
||||||
|
return timeSorter(times)
|
||||||
|
}
|
||||||
|
|
51
timesorter_test.go
Normal file
51
timesorter_test.go
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
// Copyright (c) 2013 Conformal Systems LLC.
|
||||||
|
// Use of this source code is governed by an ISC
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package btcchain_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/conformal/btcchain"
|
||||||
|
"reflect"
|
||||||
|
"sort"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TestTimeSorter tests the timeSorter implementation.
|
||||||
|
func TestTimeSorter(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
in []time.Time
|
||||||
|
want []time.Time
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
in: []time.Time{
|
||||||
|
time.Unix(1351228575, 0), // Fri Oct 26 05:16:15 UTC 2012 (Block #205000)
|
||||||
|
time.Unix(1351228575, 1), // Fri Oct 26 05:16:15 UTC 2012 (+1 nanosecond)
|
||||||
|
time.Unix(1348310759, 0), // Sat Sep 22 10:45:59 UTC 2012 (Block #200000)
|
||||||
|
time.Unix(1305758502, 0), // Wed May 18 22:41:42 UTC 2011 (Block #125000)
|
||||||
|
time.Unix(1347777156, 0), // Sun Sep 16 06:32:36 UTC 2012 (Block #199000)
|
||||||
|
time.Unix(1349492104, 0), // Sat Oct 6 02:55:04 UTC 2012 (Block #202000)
|
||||||
|
},
|
||||||
|
want: []time.Time{
|
||||||
|
time.Unix(1305758502, 0), // Wed May 18 22:41:42 UTC 2011 (Block #125000)
|
||||||
|
time.Unix(1347777156, 0), // Sun Sep 16 06:32:36 UTC 2012 (Block #199000)
|
||||||
|
time.Unix(1348310759, 0), // Sat Sep 22 10:45:59 UTC 2012 (Block #200000)
|
||||||
|
time.Unix(1349492104, 0), // Sat Oct 6 02:55:04 UTC 2012 (Block #202000)
|
||||||
|
time.Unix(1351228575, 0), // Fri Oct 26 05:16:15 UTC 2012 (Block #205000)
|
||||||
|
time.Unix(1351228575, 1), // Fri Oct 26 05:16:15 UTC 2012 (+1 nanosecond)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, test := range tests {
|
||||||
|
result := make([]time.Time, len(test.in))
|
||||||
|
copy(result, test.in)
|
||||||
|
sort.Sort(btcchain.TstTimeSorter(result))
|
||||||
|
if !reflect.DeepEqual(result, test.want) {
|
||||||
|
t.Errorf("timeSorter #%d got %v want %v", i, result,
|
||||||
|
test.want)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue