chore: release v0.26.2
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
package rda
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func day(s string) time.Time {
|
||||
t, err := time.Parse("2006-01-02", s)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return t
|
||||
}
|
||||
|
||||
func TestLoad(t *testing.T) {
|
||||
if n := Count(); n < 50000 {
|
||||
t.Fatalf("loaded %d callsigns, want the whole database (~58k)", n)
|
||||
}
|
||||
}
|
||||
|
||||
// A station with no history: the current district, reported as an assumption.
|
||||
func TestCurrentDistrict(t *testing.T) {
|
||||
m, ok := Lookup("R0AA", day("2020-05-01"))
|
||||
if !ok || m.District != "KK-08" {
|
||||
t.Fatalf("R0AA = %+v ok=%v, want KK-08", m, ok)
|
||||
}
|
||||
if m.Dated {
|
||||
t.Errorf("a district with no date range must not be reported as dated")
|
||||
}
|
||||
}
|
||||
|
||||
// An expedition: the day decides, and a day outside every period is NOT
|
||||
// answered with a neighbouring one.
|
||||
func TestDatedDistrict(t *testing.T) {
|
||||
m, ok := Lookup("4K4/EK250RA", day("1991-09-15"))
|
||||
if !ok || m.District != "CK-05" || !m.Dated {
|
||||
t.Fatalf("got %+v ok=%v, want CK-05 dated", m, ok)
|
||||
}
|
||||
m, ok = Lookup("4K4/EK250RA", day("1991-08-07"))
|
||||
if !ok || m.District != "CK-08" {
|
||||
t.Fatalf("got %+v ok=%v, want CK-08 on the one-day period", m, ok)
|
||||
}
|
||||
if _, ok := Lookup("4K4/EK250RA", day("2020-01-01")); ok {
|
||||
t.Errorf("a day outside every recorded period must find nothing")
|
||||
}
|
||||
}
|
||||
|
||||
// The callsign is matched exactly: a suffix means somewhere else.
|
||||
func TestExactCallsign(t *testing.T) {
|
||||
if _, ok := Lookup("R0AA/P", day("2020-05-01")); ok {
|
||||
t.Errorf("R0AA/P must not resolve to R0AA's district")
|
||||
}
|
||||
if _, ok := Lookup("", day("2020-05-01")); ok {
|
||||
t.Errorf("an empty callsign must find nothing")
|
||||
}
|
||||
if _, ok := Lookup("F4BPO", day("2020-05-01")); ok {
|
||||
t.Errorf("a non-Russian callsign must find nothing")
|
||||
}
|
||||
// Case and stray spaces are the operator's, not the data's.
|
||||
if m, ok := Lookup(" r0aa ", day("2020-05-01")); !ok || m.District != "KK-08" {
|
||||
t.Errorf("lookup must be case- and space-insensitive, got %+v ok=%v", m, ok)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user