func TestDeserialize(t *testing.T) { source := getTestData() reader := bytes.NewReader(source) var msg rosgo_tests.AllFieldTypes err := msg.Deserialize(reader) if err != nil { t.Error(err) } if msg.H.Seq != 0x89ABCDEF { t.Error(msg.H.Seq) } if msg.H.Stamp.Sec != 0x89ABCDEF || msg.H.Stamp.NSec != 0x01234567 { t.Error(msg.H.Stamp) } if msg.H.FrameId != "frame_id" { t.Error(msg.H.FrameId) } if msg.B != 0x01 { t.Error(msg.B) } if msg.I8 != 0x01 { t.Error(msg.I8) } if msg.I16 != 0x0123 { t.Error(msg.I16) } if msg.I32 != 0x01234567 { t.Error(msg.I32) } if msg.I64 != 0x0123456789ABCDEF { t.Error(msg.I64) } if msg.U8 != 0x01 { t.Error(msg.U8) } if msg.U16 != 0x0123 { t.Error(msg.U16) } if msg.U32 != 0x01234567 { t.Error(msg.U32) } if msg.U64 != 0x0123456789ABCDEF { t.Error(msg.U64) } if msg.F32 != 3.141592653589793238462643383 { t.Error(msg.F32) } if msg.F64 != 3.1415926535897932384626433832795028842 { t.Error(msg.F64) } if msg.T.Sec != 0x89ABCDEF || msg.T.NSec != 0x01234567 { t.Error(msg.T) } if msg.D.Sec != 0x89ABCDEF || msg.D.NSec != 0x01234567 { t.Error(msg.D) } if msg.S != "Hello, world!" { t.Error(msg.S) } if msg.C.R != 1.0 || msg.C.G != 0.5 || msg.C.B != 0.25 || msg.C.A != 0.125 { t.Error(msg.C) } if msg.DynAry[0] != 0x01234567 || msg.DynAry[1] != 0x89ABCDEF { t.Error(msg.DynAry) } if msg.FixAry[0] != 0x01234567 || msg.FixAry[1] != 0x89ABCDEF { t.Error(msg.DynAry) } if reader.Len() != 0 { t.Fail() } }
func TestSerialize(t *testing.T) { var msg rosgo_tests.AllFieldTypes msg.H.Seq = 0x89ABCDEF msg.H.Stamp = ros.NewTime(0x89ABCDEF, 0x01234567) msg.H.FrameId = "frame_id" msg.B = 0x01 msg.I8 = 0x01 msg.I16 = 0x0123 msg.I32 = 0x01234567 msg.I64 = 0x0123456789ABCDEF msg.U8 = 0x01 msg.U16 = 0x0123 msg.U32 = 0x01234567 msg.U64 = 0x0123456789ABCDEF msg.F32 = 3.141592653589793238462643383 msg.F64 = 3.1415926535897932384626433832795028842 msg.T = ros.NewTime(0x89ABCDEF, 0x01234567) msg.D = ros.NewDuration(0x89ABCDEF, 0x01234567) msg.S = "Hello, world!" msg.C = std_msgs.ColorRGBA{1.0, 0.5, 0.25, 0.125} msg.DynAry = append(msg.DynAry, 0x01234567) msg.DynAry = append(msg.DynAry, 0x89ABCDEF) msg.FixAry[0] = 0x01234567 msg.FixAry[1] = 0x89ABCDEF var buf bytes.Buffer err := msg.Serialize(&buf) if err != nil { t.Error(err) } result := buf.Bytes() expected := getTestData() CheckBytes(t, expected, result) }