diff --git a/rtmp/rtmp_test.go b/rtmp/rtmp_test.go new file mode 100644 index 00000000..843a5c15 --- /dev/null +++ b/rtmp/rtmp_test.go @@ -0,0 +1,86 @@ +/* +NAME + rtmp_test.go + +DESCRIPTION + See Readme.md + +AUTHOR + Saxon Nelson-Milton + +LICENSE + rtmp_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 rtmp + +import ( + "testing" + "unsafe" +) + +const ( + byteSize = 1 + int32Size = 4 + int64Size = 8 +) + +var ( + byteArr = [...]byte{0x01,0x02,0x03,0x04,0x05,0x06} + int32Arr = [...]int32{1,2,3,4,5,6} + int64Arr = [...]int64{1,2,3,4,5,6} +) + +func TestIncPtr(t *testing.T){ + errMsg := "Obtained: %v, but wanted: %v" + + // Test how it deals with bytes + bytePtr := unsafe.Pointer(&byteArr[0]) + inc := 4 + valueByte := *(*byte)(incPtr(bytePtr,inc,byteSize)) + if valueByte != byteArr[inc] { + t.Errorf(errMsg,valueByte,byteArr[inc]) + } + + // Test how it deals with ints + intPtr := unsafe.Pointer(&int32Arr[0]) + inc = 3 + valueInt32 := *(*int32)(incPtr(intPtr,inc,int32Size)) + if valueInt32 != int32Arr[inc] { + t.Errorf(errMsg,valueInt32,int32Arr[inc]) + } + + // Test how it deals with int64 + int64Ptr := unsafe.Pointer(&int64Arr[0]) + inc = 5 + valueInt64 := *(*int64)(incPtr(int64Ptr,inc,int64Size)) + if valueInt64 != int64Arr[inc] { + t.Errorf(errMsg,valueInt64,int64Arr[inc]) + } +} + +func TestDecPtr(t *testing.T){ +} + + +/* +func TestPtrToSlice(t *testing.T){ +} +*/ + +func TestIndxPtr(t *testing.T){ + +}