public void ToBytes_ThreeLetterValue_ReturnsNullTerminatedAscii() { var sut = new OscString("OSC"); var expectedBytes = new byte[] { 79, 83, 67, 0 }; Assert.Equal(expectedBytes, sut.ToBytes()); }
public void IsArgumentTest() { var target = new OscString(); bool actual; actual = target.IsArgument; Assert.AreEqual(actual, true); }
public void ToBytes_EmptyString_ReturnsFourNulls() { var sut = new OscString(string.Empty); var expectedBytes = new byte[4]; Assert.Equal(expectedBytes, sut.ToBytes()); }
public void ToBytes_UnicodeValue_SubstitutesQuestionMarks() { var sut = new OscString("ØSC"); var expectedBytes = new byte[] { 63, 83, 67, 0 }; Assert.Equal(expectedBytes, sut.ToBytes()); }
public void ElementTypeTest() { var target = new OscString(); OscElementType actual; actual = target.ElementType; Assert.AreEqual(actual, OscElementType.String); }
public void FromBytes_ReturnsValue(string s) { var value = new OscString(s); var bytes = value.ToBytes(); Assert.Equal(value, OscString.FromBytes(ref bytes)); Assert.Empty(bytes); }
public void ToOscPacketArrayTest() { var target = new OscString("/test"); var expected = new byte[] { 0x2f, 0x74, 0x65, 0x73, 0x74, 0, 0, 0 }; byte[] actual; actual = target.ToOscPacketArray(); Assert.IsTrue(actual.Length == expected.Length, "Array size not equal"); for (int i = 0; i < expected.Length; i++) { Assert.IsTrue(expected[i] == actual[i], String.Format("expected[{0}] != actual[{0}]", i)); } }
private byte[] GetBytes() { byte[] bytes = new byte[GetByteLength()]; MemoryStream stream = new MemoryStream(bytes); stream.Write(Address.Bytes, 0, Address.Bytes.Length); OscString typeTag = GetTypeTagString(); stream.Write(typeTag.Bytes, 0, typeTag.Bytes.Length); foreach (IOscValue value in Arguments) { stream.Write(value.Bytes, 0, value.Bytes.Length); } return(bytes); }
public static new OscBundle Parse(BinaryReader reader) { OscString bundleString = OscString.Parse(reader); OscTimeTag timeTag = OscTimeTag.Parse(reader); List <OscPacket> contents = new List <OscPacket>(); while (reader.BaseStream.Position < reader.BaseStream.Length) { OscInt size = OscInt.Parse(reader); OscPacket packet = OscPacket.Parse(reader); contents.Add(packet); } return(new OscBundle(timeTag.Contents, contents)); }
public void FromBytes_MessageBytes_MessageObject() { var addressPattern = new OscAddressPattern("/abc"); var intArgument = new OscInt(32); var floatArgument = new OscFloat(3.21f); var stringArgument = new OscString("abc"); var blobArgument = new OscBlob(new byte[] { 1, 2, 3 }); var message = new OscMessage(addressPattern, new OscValue[] { intArgument, floatArgument, stringArgument, blobArgument }); var bytes = message.ToBytes(); var messageFromBytes = OscMessage.FromBytes(bytes); Assert.Equal(message.AddressPattern, messageFromBytes.AddressPattern); Assert.Equal(message.Arguments.Length, messageFromBytes.Arguments.Length); Assert.Equal(message.Arguments, messageFromBytes.Arguments); }
public OscMessage(string address, params object[] values) { Address = new OscString(address); Arguments = new List <IOscValue>(); foreach (object obj in values) { if (obj is IOscValue) { Arguments.Add(obj as IOscValue); } else { Arguments.Add(OscValue.Wrap(obj)); } } Bytes = GetBytes(); }
public static new OscMessage Parse(BinaryReader reader) { OscString address = OscString.Parse(reader); OscString typeTags = OscString.Parse(reader); int valueCount = typeTags.Contents.Length - 1; List <IOscValue> values = new List <IOscValue>(); foreach (char current in typeTags.Contents.Substring(1)) { IOscValue value = OscValue.Parse(current, reader); values.Add(value); } return(new OscMessage(address.Contents, values)); }
public OscBundle(DateTime time, IEnumerable <OscPacket> contents) { Contents = new List <OscPacket>(contents); Bytes = new byte[GetByteLength()]; MemoryStream stream = new MemoryStream(Bytes); OscString bundleString = new OscString("#bundle"); stream.Write(bundleString.Bytes, 0, bundleString.Bytes.Length); TimeTag = new OscTimeTag(time); stream.Write(TimeTag.Bytes, 0, TimeTag.Bytes.Length); foreach (OscPacket message in contents) { stream.Write(OscInt.GetBigEndianIntBytes(message.Bytes.Length), 0, sizeof(int)); stream.Write(message.Bytes, 0, message.Bytes.Length); } }
private int GetTypeTagLength() { return(OscString.GetPaddedLength(Arguments.Count + 2)); }
public void OscStringConstructorTest() { string value = "/servo/0/position"; var target = new OscString(value); Assert.AreEqual(target.Value, value); }
public OscMessage(string address, IEnumerable <IOscValue> values) { Address = new OscString(address); Arguments = new List <IOscValue>(values); Bytes = GetBytes(); }
/// <summary> /// Creates an address from the input string. /// </summary> /// <param name = "value"></param> public OscAddress(string value) { Value = new OscString(value); }
/// <summary> /// Creates an empty address /// </summary> public OscAddress() { Value = new OscString(); }
public void OscStringConstructorTest1() { var target = new OscString(); Assert.AreEqual(target.Value, String.Empty); }
public void ToStringTest() { var target = new OscString("/servo/0/position"); string expected = "/servo/1/position"; target.Value = expected; string actual; actual = target.ToString(); Assert.AreEqual(expected, actual); }