/* 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 import ( "reflect" "testing" ) // TODO (saxon): add more tests var rtpTests = []struct { num int pkt Pkt want []byte }{ { num: 1, pkt: Pkt{ V: 2, p: 0, 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, }, }, } func TestRtpPktToByteSlice(t *testing.T) { for _, test := range rtpTests { got := test.pkt.Bytes() if !reflect.DeepEqual(got, test.want) { t.Errorf("unexpected error for test %v: got:%v want:%v", test.num, got, test.want) } } }