Add adif_write tests

pull/2/head
Jean-Marc MEESSEN 4 years ago
parent 23814440c7
commit cf653c36fc

@ -34,15 +34,6 @@ func buildAdif(fullLog []LogLine) (adifList []string) {
adifList = append(adifList, "<ADIF_VER:5>3.0.6") adifList = append(adifList, "<ADIF_VER:5>3.0.6")
adifList = append(adifList, "<EOH>") adifList = append(adifList, "<EOH>")
//<STATION_CALLSIGN:8>ON4KJM/P
//<CALL:5>S57LC
//<QSO_DATE:8>20200524
//<TIME_ON:4>1310
//<BAND:3>20m
//<MODE:2>CW
//<FREQ:6>14.045
//<RST_SENT:3>599 <RST_RCVD:3>599
//<MY_SIG:4>WWFF <MY_SIG_INFO:9>ONFF-0259 <OPERATOR:6>ON4KJM <APP_EQSL_QTH_NICKNAME:11>ONFF-0259-1 <EOR>
for _, logLine := range fullLog { for _, logLine := range fullLog {
adifLine := "" adifLine := ""
adifLine = adifLine + adifElement("STATION_CALLSIGN", logLine.MyCall) adifLine = adifLine + adifElement("STATION_CALLSIGN", logLine.MyCall)
@ -60,9 +51,11 @@ func buildAdif(fullLog []LogLine) (adifList []string) {
adifLine = adifLine + adifElement("MY_SIG", "WWFF") adifLine = adifLine + adifElement("MY_SIG", "WWFF")
adifLine = adifLine + adifElement("MY_SIG_INFO", logLine.MyWWFF) adifLine = adifLine + adifElement("MY_SIG_INFO", logLine.MyWWFF)
adifLine = adifLine + adifElement("OPERATOR", logLine.Operator) adifLine = adifLine + adifElement("OPERATOR", logLine.Operator)
adifLine = adifLine + adifElement("BAND", logLine.Band) if logLine.Nickname != "" {
//EQSL nickname?? adifLine = adifLine + adifElement("APP_EQSL_QTH_NICKNAME", logLine.Nickname)
}
adifLine = adifLine + "<EOR>" adifLine = adifLine + "<EOR>"
adifList = append(adifList, adifLine) adifList = append(adifList, adifLine)
} }

@ -1,6 +1,9 @@
package cmd package cmd
import "testing" import (
"reflect"
"testing"
)
func Test_adifElement(t *testing.T) { func Test_adifElement(t *testing.T) {
type args struct { type args struct {
@ -31,3 +34,41 @@ func Test_adifElement(t *testing.T) {
}) })
} }
} }
func Test_buildAdif(t *testing.T) {
sampleFilledLog1 := []LogLine{
{MyCall: "ON4KJM/P", Call: "S57LC", Date: "20200524", Time: "1310", Band: "20m", Frequency: "14.045", Mode: "CW", RSTsent: "599", RSTrcvd: "599", MyWWFF: "ONFF-0259", Operator: "ON4KJM", Nickname: "ONFF-0259-1"},
{MyCall: "ON4KJM/P", Call: "ON4LY", Date: "20200524", Time: "1312", Band: "20m", Mode: "CW", RSTsent: "559", RSTrcvd: "599", MyWWFF: "ONFF-0259", Operator: "ON4KJM"},
}
expectedOutput1 := []string{
"ADIF Export for Fast Log Entry by DF3CB",
"<PROGRAMID:3>FLE",
"<ADIF_VER:5>3.0.6",
"<EOH>",
"<STATION_CALLSIGN:8>ON4KJM/P <CALL:5>S57LC <QSO_DATE:8>20200524 <TIME_ON:4>1310 <BAND:3>20m <MODE:2>CW <FREQ:6>14.045 <RST_SENT:3>599 <RST_RCVD:3>599 <MY_SIG:4>WWFF <MY_SIG_INFO:9>ONFF-0259 <OPERATOR:6>ON4KJM <APP_EQSL_QTH_NICKNAME:11>ONFF-0259-1 <EOR>",
"<STATION_CALLSIGN:8>ON4KJM/P <CALL:5>ON4LY <QSO_DATE:8>20200524 <TIME_ON:4>1312 <BAND:3>20m <MODE:2>CW <RST_SENT:3>559 <RST_RCVD:3>599 <MY_SIG:4>WWFF <MY_SIG_INFO:9>ONFF-0259 <OPERATOR:6>ON4KJM <EOR>",
}
type args struct {
fullLog []LogLine
}
tests := []struct {
name string
args args
wantAdifList []string
}{
{
"Happy case",
args{fullLog: sampleFilledLog1},
expectedOutput1,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if gotAdifList := buildAdif(tt.args.fullLog); !reflect.DeepEqual(gotAdifList, tt.wantAdifList) {
t.Errorf("buildAdif() = %v, want %v", gotAdifList, tt.wantAdifList)
}
})
}
}

Loading…
Cancel
Save