public void MatchTest_Unmatch() { var a = AVal.AVC("string1"); var b = AVal.AVC("string2"); Assert.IsFalse(AVal.Match(a, b)); }
public void AMF_EncodeNamedNumberTest() { AVal name = AVal.AVC("name"); double val = -2.3456; // 0xC0 02 C3 C9 EE CB FB 16 byte[] buf = new byte[100]; int enc = 0, pend = buf.Length; int len = 2 + 4 + 1 + 8; // "name".len + "name" + AMF_NUMBER + 8 enc = AMF.AMF_EncodeNamedNumber(buf, enc, pend, name, val); Assert.AreEqual(len, enc); Assert.AreEqual(0x00, buf[0]); Assert.AreEqual(0x04, buf[1]); Assert.AreEqual('n', buf[2]); Assert.AreEqual('a', buf[3]); Assert.AreEqual('m', buf[4]); Assert.AreEqual('e', buf[5]); Assert.AreEqual((byte)AMFDataType.AMF_NUMBER, buf[6]); Assert.AreEqual(0xC0, buf[7]); Assert.AreEqual(0x02, buf[8]); Assert.AreEqual(0xC3, buf[9]); Assert.AreEqual(0xC9, buf[10]); Assert.AreEqual(0xEE, buf[11]); Assert.AreEqual(0xCB, buf[12]); Assert.AreEqual(0xFB, buf[13]); Assert.AreEqual(0x16, buf[14]); }
public void MatchTest_Match() { var a = AVal.AVC("string1"); var b = AVal.AVC("string1"); Assert.IsTrue(AVal.Match(a, b)); }
public void AMF_EncodeNamedStringTest2() { AVal name = AVal.AVC("name"), val = AVal.AVC("val"); byte[] buf = new byte[100]; int offset = 20; int enc = offset, pend = buf.Length; int len = 2 + 4 + 1 + 2 + 3; // "name".len + "name" + AMF_STRING + "val".len + "val" enc = AMF.AMF_EncodeNamedString(buf, enc, pend, name, val); Assert.AreEqual(len + offset, enc); Assert.AreEqual(0x00, buf[0 + offset]); Assert.AreEqual(0x04, buf[1 + offset]); Assert.AreEqual('n', buf[2 + offset]); Assert.AreEqual('a', buf[3 + offset]); Assert.AreEqual('m', buf[4 + offset]); Assert.AreEqual('e', buf[5 + offset]); Assert.AreEqual((byte)AMFDataType.AMF_STRING, buf[6 + offset]); Assert.AreEqual(0x00, buf[7 + offset]); Assert.AreEqual(0x03, buf[8 + offset]); Assert.AreEqual('v', buf[9 + offset]); Assert.AreEqual('a', buf[10 + offset]); Assert.AreEqual('l', buf[11 + offset]); Assert.AreEqual(0x00, buf[12 + offset]); }
public void AMF_EncodeStringTest2() { AVal app = AVal.AVC("appp"); byte[] buf = new byte[4]; int enc = 0, pend = buf.Length; enc = AMF.AMF_EncodeString(buf, enc, pend, app); Assert.AreEqual(0, enc); }
public void RTMP_ParseURLTest_example() { AVal host, app, playpath; int protocol, port; var res = RTMP.RTMP_ParseURL(EXAMPLE_URL, out protocol, out host, out port, out playpath, out app); Assert.IsTrue(res); Assert.AreEqual(RTMP.RTMP_PROTOCOL_RTMP, protocol); Assert.IsTrue(AVal.Match(AVal.AVC("example.com"), host), "actual:" + host.to_s()); Assert.AreEqual(41935, port); Assert.IsTrue(AVal.Match(AVal.AVC("plypath"), playpath), "actual:" + playpath); Assert.IsTrue(AVal.Match(AVal.AVC("app"), app), "actual:" + app); }
public void AMF_EncodeStringTest() { AVal app = AVal.AVC("app"); byte[] buf = new byte[50]; int output = 0, pend = buf.Length; output = AMF.AMF_EncodeString(buf, output, pend, app); Assert.AreEqual(6, output); Assert.AreEqual((byte)AMFDataType.AMF_STRING, buf[0]); Assert.AreEqual(0, buf[1]); Assert.AreEqual(3, buf[2]); Assert.AreEqual('a', buf[3]); Assert.AreEqual('p', buf[4]); Assert.AreEqual('p', buf[5]); }
public void AMF_DecodeStringTest() { var buf = new byte[100]; AVal str = AVal.AVC("foobar"); AMF.AMF_EncodeString(buf, 0, buf.Length, str); AVal actual; AMF.AMF_DecodeString(buf, 1, out actual); // Skip AMFDatatype flag Assert.AreEqual(6, actual.av_len); Assert.AreEqual('f', actual.av_val[0]); Assert.AreEqual('o', actual.av_val[1]); Assert.AreEqual('o', actual.av_val[2]); Assert.AreEqual('b', actual.av_val[3]); Assert.AreEqual('a', actual.av_val[4]); Assert.AreEqual('r', actual.av_val[5]); }
public void AMF_EncodeNamedBooleanTest() { AVal name = AVal.AVC("name"); byte[] buf = new byte[100]; int enc = 0, pend = buf.Length; int len = 2 + 4 + 1 + 1; // "name".len + "name" + AMF_NUMBER + 8 enc = AMF.AMF_EncodeNamedBoolean(buf, enc, pend, name, true); Assert.AreEqual(len, enc); Assert.AreEqual(0x00, buf[0]); Assert.AreEqual(0x04, buf[1]); Assert.AreEqual('n', buf[2]); Assert.AreEqual('a', buf[3]); Assert.AreEqual('m', buf[4]); Assert.AreEqual('e', buf[5]); Assert.AreEqual((byte)AMFDataType.AMF_BOOLEAN, buf[6]); Assert.AreEqual(0x01, buf[7]); }
public void AMF_EncodeNamedStringTest() { AVal name = AVal.AVC("name"), val = AVal.AVC("val"); byte[] buf = new byte[100]; int enc = 0, pend = buf.Length; int len = 2 + 4 + 1 + 2 + 3; // "name".len + "name" + AMF_STRING + "val".len + "val" enc = AMF.AMF_EncodeNamedString(buf, enc, pend, name, val); Assert.AreEqual(len, enc); Assert.AreEqual(0x00, buf[0]); Assert.AreEqual(0x04, buf[1]); Assert.AreEqual('n', buf[2]); Assert.AreEqual('a', buf[3]); Assert.AreEqual('m', buf[4]); Assert.AreEqual('e', buf[5]); Assert.AreEqual((byte)AMFDataType.AMF_STRING, buf[6]); Assert.AreEqual(0x00, buf[7]); Assert.AreEqual(0x03, buf[8]); Assert.AreEqual('v', buf[9]); Assert.AreEqual('a', buf[10]); Assert.AreEqual('l', buf[11]); Assert.AreEqual(0x00, buf[12]); }
public void MatchTest_Empty() { AVal a = AVal.AVC(string.Empty), b = AVal.AVC(string.Empty); Assert.IsTrue(AVal.Match(a, b)); }