39 lines
924 B
Go
39 lines
924 B
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/google/go-cmp/cmp"
|
|
)
|
|
|
|
// TestParseTelemetrySubHeader_WithGoodBuffer
|
|
// Given a well structured buffer it will output the expected
|
|
// DiskSubHeader struct
|
|
func TestParseTelemetrySubHeader_WithGoodBuffer(t *testing.T) {
|
|
// Arrange
|
|
header := [32]byte{
|
|
0x54, 0x1e, 0x14, 0x67, 0x00, 0x00, 0x00, 0x00, 0x54, 0x09, 0x00, 0xf0,
|
|
0xee, 0x7e, 0x6b, 0x40, 0x53, 0x74, 0x88, 0x44, 0x44, 0x86, 0x8f, 0x40,
|
|
0x08, 0x00, 0x00, 0x00, 0xe1, 0xb8, 0x00, 0x00,
|
|
}
|
|
|
|
expectedHeader := DiskSubHeader{
|
|
StartDate: 1729371732,
|
|
StartTime: 219.96666717536084,
|
|
EndTime: 1008.7833338413715,
|
|
LapCount: 8,
|
|
RecordCount: 47329,
|
|
}
|
|
|
|
// Act
|
|
headers, err := parseTelemetrySubHeader(header)
|
|
|
|
// Assert
|
|
if err != nil {
|
|
t.Fatalf("Error parsing buffer: %v", err)
|
|
}
|
|
if !cmp.Equal(&expectedHeader, headers) {
|
|
t.Fatalf("Expected:\n%#v\nGot:\n%#v\n", expectedHeader, headers)
|
|
}
|
|
}
|