|
|
|
package cmd
|
|
|
|
|
|
|
|
import (
|
|
|
|
"reflect"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func Test_csvDate(t *testing.T) {
|
|
|
|
type args struct {
|
|
|
|
inputDate string
|
|
|
|
}
|
|
|
|
tests := []struct {
|
|
|
|
name string
|
|
|
|
args args
|
|
|
|
wantOutputDate string
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
"Happy case",
|
|
|
|
args{inputDate: "2020-07-13"},
|
|
|
|
"13/07/20",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
|
|
if gotOutputDate := csvDate(tt.args.inputDate); gotOutputDate != tt.wantOutputDate {
|
|
|
|
t.Errorf("csvDate() = %v, want %v", gotOutputDate, tt.wantOutputDate)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_buildCsv(t *testing.T) {
|
|
|
|
sampleFilledLog1 := []LogLine{
|
|
|
|
{MyCall: "ON4KJM/P", Call: "S57LC", Date: "2020-05-24", Time: "1310", Band: "20m", Frequency: "14.045", Mode: "CW", RSTsent: "599", RSTrcvd: "599", MySOTA: "ON/ON-001", Operator: "ON4KJM", Nickname: "ONFF-0259-1"},
|
|
|
|
{MyCall: "ON4KJM/P", Call: "ON4LY", Date: "2020-05-24", Time: "1312", Band: "20m", Mode: "CW", RSTsent: "559", RSTrcvd: "599", MySOTA: "ON/ON-001", Operator: "ON4KJM"},
|
|
|
|
}
|
|
|
|
//add case with no SOTA and with or no comment
|
|
|
|
|
|
|
|
expectedOutput1 := []string{
|
|
|
|
"V2,ON4KJM/P,ON/ON-001,24/05/20,1310,14MHz,CW,S57LC",
|
|
|
|
"V2,ON4KJM/P,ON/ON-001,24/05/20,1312,14MHz,CW,ON4LY",
|
|
|
|
}
|
|
|
|
|
|
|
|
type args struct {
|
|
|
|
fullLog []LogLine
|
|
|
|
}
|
|
|
|
tests := []struct {
|
|
|
|
name string
|
|
|
|
args args
|
|
|
|
wantCsvList []string
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
"Happy case",
|
|
|
|
args{fullLog: sampleFilledLog1},
|
|
|
|
expectedOutput1,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
|
|
if gotCsvList := buildCsv(tt.args.fullLog); !reflect.DeepEqual(gotCsvList, tt.wantCsvList) {
|
|
|
|
t.Errorf("buildCsv() = %v, want %v", gotCsvList, tt.wantCsvList)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|