2018-11-16 12:05:19 +03:00
|
|
|
/*
|
|
|
|
NAME
|
|
|
|
rtp_test.go
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
See Readme.md
|
|
|
|
|
|
|
|
AUTHOR
|
|
|
|
Saxon Nelson-Milton (saxon@ausocean.org)
|
|
|
|
|
|
|
|
LICENSE
|
|
|
|
rtp_test.go is Copyright (C) 2017 the Australian Ocean Lab (AusOcean)
|
|
|
|
|
|
|
|
It is free software: you can redistribute it and/or modify them
|
|
|
|
under the terms of the GNU General Public License as published by the
|
|
|
|
Free Software Foundation, either version 3 of the License, or (at your
|
|
|
|
option) any later version.
|
|
|
|
|
|
|
|
It is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
|
for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with revid in gpl.txt. If not, see http://www.gnu.org/licenses.
|
|
|
|
*/
|
|
|
|
|
|
|
|
package rtp
|
|
|
|
|
2018-11-17 09:22:57 +03:00
|
|
|
import (
|
|
|
|
"reflect"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
2018-11-17 10:13:04 +03:00
|
|
|
// TODO (saxon): add more tests
|
2018-11-16 12:05:19 +03:00
|
|
|
var rtpTests = []struct {
|
2018-11-17 09:22:57 +03:00
|
|
|
num int
|
|
|
|
pkt Pkt
|
|
|
|
want []byte
|
2018-11-16 12:05:19 +03:00
|
|
|
}{
|
|
|
|
{
|
2018-11-17 09:22:57 +03:00
|
|
|
num: 1,
|
|
|
|
pkt: Pkt{
|
|
|
|
V: 2,
|
2018-11-24 04:52:17 +03:00
|
|
|
p: 0,
|
2018-11-17 09:22:57 +03:00
|
|
|
X: 0,
|
|
|
|
CC: 0,
|
|
|
|
M: 0,
|
|
|
|
PT: 6,
|
|
|
|
SN: 167,
|
|
|
|
TS: 160,
|
|
|
|
SSRC: 10,
|
|
|
|
Payload: []byte{0x00, 0x01, 0x07, 0xf0, 0x56, 0x37, 0x0a, 0x0f},
|
|
|
|
Padding: 0,
|
|
|
|
},
|
|
|
|
want: []byte{
|
|
|
|
0x80, 0x06, 0x00, 0xa7,
|
|
|
|
0x00, 0x00, 0x00, 0xa0,
|
|
|
|
0x00, 0x00, 0x00, 0x0a,
|
|
|
|
0x00, 0x01, 0x07, 0xf0,
|
|
|
|
0x56, 0x37, 0x0a, 0x0f,
|
|
|
|
},
|
2018-11-16 12:05:19 +03:00
|
|
|
},
|
|
|
|
}
|
2018-11-17 09:22:57 +03:00
|
|
|
|
|
|
|
func TestRtpPktToByteSlice(t *testing.T) {
|
2018-11-17 09:34:26 +03:00
|
|
|
for _, test := range rtpTests {
|
2018-11-17 09:47:54 +03:00
|
|
|
got := test.pkt.Bytes()
|
2018-11-17 09:34:26 +03:00
|
|
|
if !reflect.DeepEqual(got, test.want) {
|
2018-11-17 10:13:04 +03:00
|
|
|
t.Errorf("unexpected error for test %v: got:%v want:%v", test.num, got,
|
|
|
|
test.want)
|
2018-11-17 09:34:26 +03:00
|
|
|
}
|
2018-11-17 09:22:57 +03:00
|
|
|
}
|
|
|
|
}
|