Beispiel #1
0
 public void AddArgument(bool isField, out NamedArgumentTypeEncoder typeEncoder, out NameEncoder name, out LiteralEncoder literal)
 {
     Builder.WriteByte(isField ? (byte)0x53 : (byte)0x54);
     typeEncoder = new NamedArgumentTypeEncoder(Builder);
     name        = new NameEncoder(Builder);
     literal     = new LiteralEncoder(Builder);
 }
        public void NameEncoder_Name()
        {
            var b = new BlobBuilder();
            var e = new NameEncoder(b);

            Assert.Same(b, e.Builder);

            e.Name("abc");
            AssertEx.Equal(new byte[] { 0x03, 0x61, 0x62, 0x63 }, b.ToArray());
            b.Clear();

            e.Name("\ud800"); // unpaired surrogate
            AssertEx.Equal(new byte[] { 0x03, 0xED, 0xA0, 0x80 }, b.ToArray());
            b.Clear();

            Assert.Throws <ArgumentNullException>(() => e.Name(null));
            AssertExtensions.Throws <ArgumentException>("name", () => e.Name(""));
        }
Beispiel #3
0
 public void AddArgument(bool isField, out NamedArgumentTypeEncoder typeEncoder, out NameEncoder name, out LiteralEncoder literal)
 {
     Builder.WriteByte(isField ? (byte)0x53 : (byte)0x54);
     typeEncoder = new NamedArgumentTypeEncoder(Builder);
     name = new NameEncoder(Builder);
     literal = new LiteralEncoder(Builder);
 }
Beispiel #4
0
        public void NameEncoder_Name()
        {
            var b = new BlobBuilder();
            var e = new NameEncoder(b);
            Assert.Same(b, e.Builder);

            e.Name("abc");
            AssertEx.Equal(new byte[] { 0x03, 0x61, 0x62, 0x63 }, b.ToArray());
            b.Clear();

            e.Name("\ud800"); // unpaired surrogate
            AssertEx.Equal(new byte[] { 0x03, 0xED, 0xA0, 0x80 }, b.ToArray());
            b.Clear();

            Assert.Throws<ArgumentNullException>(() => e.Name(null));
            Assert.Throws<ArgumentException>(() => e.Name(""));
        }