/* NAME metaEncode_test.go DESCRIPTION See Readme.md AUTHOR Saxon Nelson-Milton LICENSE metaEncode_test.go is Copyright (C) 2017-2019 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 mts import ( "bytes" "testing" "bitbucket.org/ausocean/av/stream/mts/psi" ) const fps = 25 func TestMetaEncode(t *testing.T) { var b []byte buf := bytes.NewBuffer(b) e := NewEncoder(buf, fps) Meta.Add("ts", "12345678") e.writePSI() out := buf.Bytes() got := out[PacketSize:] want := []byte{ 0x00, 0x02, 0xb0, 0x12, 0x00, 0x01, 0xc1, 0x00, 0x00, 0xe1, 0x00, 0xf0, 0x0a, psi.MetadataTag, // Descriptor tag 0x08, // Length of bytes to follow 0x00, 0x00, 0x00, 0x00, 0x49, 0xa2, 0x36, 0x0b, // timestamp 0x1b, 0xe1, 0x00, 0xf0, 0x00, } }