public void MainTest()
        {
            var     u1 = default(EmberId);
            var     n1 = this.Random.Next();
            var     n2 = n1 + 1;
            var     a1 = EmberId.CreateApplication(n1);
            var     a2 = EmberId.CreateApplication(n2);
            var     c1 = EmberId.CreateContextSpecific(n1);
            EmberId p1;

            using (var stream = new MemoryStream(new byte[] { 0xE0, 0x03, 0x01, 0x01, 0xFF }))
                using (var reader = new EmberReader(stream, 1))
                {
                    reader.Read();
                    p1 = reader.OuterId;
                }

            TestStructEquality(a1, a2, (l, r) => l == r, (l, r) => l != r);
            TestStructEquality(a1, c1, (l, r) => l == r, (l, r) => l != r);

            TestParse(u1);
            TestParse(a1);
            TestParse(c1);
            TestParse(p1);

            EmberId dummy;

            Assert.IsFalse(EmberId.TryParse("S-234", out dummy));
            Assert.IsFalse(EmberId.TryParse("U+234", out dummy));
            Assert.IsFalse(EmberId.TryParse("P--234", out dummy));
            Assert.IsFalse(EmberId.TryParse("A-89345734579385749354", out dummy));
        }
Example #2
0
        public void MainTest()
        {
            AssertEncode(
                writer => writer.WriteValue(EmberId.CreateApplication(0), true),
                0x60, 0x03, 0x01, 0x01, 0xFF);

            AssertEncode(
                writer => writer.WriteValue(EmberId.CreateContextSpecific(1), 0x80),
                0xA1, 0x04, 0x02, 0x02, 0x00, 0x80);

            AssertEncode(
                writer => writer.WriteValue(EmberId.CreateApplication(2), new byte[] { 0x42 }),
                0x62, 0x03, 0x04, 0x01, 0x42);

            AssertEncode(writer => writer.WriteValue(EmberId.CreateContextSpecific(3), 0.0), 0xA3, 0x02, 0x09, 0x00);
            AssertEncode(writer => writer.WriteValue(EmberId.CreateContextSpecific(3), double.PositiveInfinity), 0xA3, 0x03, 0x09, 0x01, 0x40);
            AssertEncode(writer => writer.WriteValue(EmberId.CreateContextSpecific(3), double.NegativeInfinity), 0xA3, 0x03, 0x09, 0x01, 0x41);
            AssertEncode(writer => writer.WriteValue(EmberId.CreateContextSpecific(3), double.NaN), 0xA3, 0x03, 0x09, 0x01, 0x42);
            AssertEncode(writer => writer.WriteValue(EmberId.CreateContextSpecific(3), -0.0), 0xA3, 0x03, 0x09, 0x01, 0x43);
            AssertEncode(writer => writer.WriteValue(EmberId.CreateContextSpecific(3), -1.0), 0xA3, 0x05, 0x09, 0x03, 0xC0, 0x00, 0x01);

            AssertEncode(
                writer => writer.WriteValue(EmberId.CreateApplication(4), "A"),
                0x64, 0x03, 0x0C, 0x01, 0x41);

            AssertEncode(
                writer => writer.WriteValue(EmberId.CreateContextSpecific(5), new[] { 15 }),
                0xA5, 0x03, 0x0D, 0x01, 0x0F);

            AssertEncode(
                writer => writer.WriteStartSequence(EmberId.CreateApplication(6)),
                0x66, 0x80, 0x30, 0x80);

            AssertEncode(
                writer => writer.WriteStartSet(EmberId.CreateContextSpecific(7)),
                0xA7, 0x80, 0x31, 0x80);

            AssertEncode(
                writer => writer.WriteStartApplicationDefinedType(
                    EmberId.CreateContextSpecific(7), InnerNumber.FirstApplication),
                0xA7, 0x80, 0x60, 0x80);

            AssertEncode(
                writer => writer.WriteEndContainer(),
                0x00, 0x00, 0x00, 0x00);
        }
Example #3
0
        public void InvalidXmlCharactersTest()
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new EmberWriter(stream))
                {
                    writer.WriteValue(EmberId.CreateContextSpecific(0), "\0");
                }

                var builder = new StringBuilder();

                using (var xmlWriter = XmlWriter.Create(builder))
                {
                    var converter = new EmberConverter();
                    converter.ToXml(stream.ToArray(), xmlWriter);
                }
            }
        }
 public void ExceptionTest() =>
 AssertThrow <ArgumentOutOfRangeException>(
     () => EmberId.CreateApplication(-1),
     () => EmberId.CreateContextSpecific(-1));