/// <exception cref="VPackException"/>
 public void serialize(VPackBuilder builder, string attribute
                       , Request value, VPackSerializationContext
                       context)
 {
     builder.Add(attribute, ValueType.ARRAY);
     builder.Add(value.getVersion());
     builder.Add(value.getType());
     builder.Add(value.getDatabase());
     builder.Add(value.getRequestType().getType());
     builder.Add(value.getRequest());
     builder.Add(ValueType.OBJECT);
     foreach (System.Collections.Generic.KeyValuePair <string, string> entry in value.getQueryParam
                  ())
     {
         builder.Add(entry.Key, entry.Value);
     }
     builder.Close();
     builder.Add(ValueType.OBJECT);
     foreach (System.Collections.Generic.KeyValuePair <string, string> entry_1 in value
              .getHeaderParam())
     {
         builder.Add(entry_1.Key, entry_1.Value);
     }
     builder.Close();
     builder.Close();
 }
Example #2
0
        public void AddBigIntegerAsUIntNegative()
        {
            VPackBuilder builder = new VPackBuilder();
            BigInteger   value   = new BigInteger(-10);

            Assert.Throws <VPackBuilderUnexpectedValueException>(() => builder.Add(value, ValueType.UINT));
        }
Example #3
0
        public void AddArrayNotSameType()
        {
            var slice = new VPackBuilder()
                        .Add(SliceType.Array)
                        .Add(double.MaxValue)
                        .Add(int.MaxValue)
                        .Add(long.MaxValue)
                        .Close()
                        .Slice();

            Assert.True(slice.IsType(SliceType.Array));
            Assert.Equal(slice.Length, 3);

            Assert.True(slice[0].IsType(SliceType.Double));
            Assert.Equal(slice[0].Value().GetType(), typeof(double));
            Assert.Equal(slice[0].Value(), double.MaxValue);
            Assert.Equal(slice[0].ToDouble(), double.MaxValue);

            Assert.True(slice[1].IsType(SliceType.Int));
            Assert.Equal(slice[1].TypeCode, 0x23);
            Assert.Equal(slice[1].Value().GetType(), typeof(int));
            Assert.Equal(slice[1].Value(), int.MaxValue);
            Assert.Equal(slice[1].ToDouble(), int.MaxValue);

            Assert.True(slice[2].IsType(SliceType.Int));
            Assert.Equal(slice[2].TypeCode, 0x27);
            Assert.Equal(slice[2].Value().GetType(), typeof(long));
            Assert.Equal(slice[2].Value(), long.MaxValue);
            Assert.Equal(slice[2].ToDouble(), long.MaxValue);
        }
Example #4
0
        public void AddVPackObject()
        {
            VPackBuilder builder = new VPackBuilder();

            builder.Add(SliceType.Object);
            {
                VPackBuilder builder2 = new VPackBuilder();
                builder2.Add(SliceType.Object);
                builder2.Add("s", "test");
                builder2.Close();
                builder.Add("o", builder2.Slice());
            }
            builder.Close();
            VPackSlice slice = builder.Slice();

            Assert.NotNull(slice);

            Assert.True(slice.IsType(SliceType.Object));

            Assert.True(slice["o"].IsType(SliceType.Object));

            Assert.True(slice["o"]["s"].IsType(SliceType.String));

            Assert.Equal(slice["o"]["s"].ToStringValue(), "test");

            Assert.Equal(slice.Length, 1);

            Assert.Equal(slice["o"].Length, 1);
        }
Example #5
0
        public void AddLongAsUIntNegative()
        {
            VPackBuilder builder = new VPackBuilder();
            const long   VALUE   = -10;

            Assert.Throws <VPackBuilderUnexpectedValueException>(() => builder.Add(VALUE, ValueType.UINT));
        }
Example #6
0
        public void AddVPackObjectInArray()
        {
            VPackBuilder builder = new VPackBuilder();

            builder.Add(SliceType.Array);
            for (int i = 0; i < 10; i++)
            {
                VPackBuilder builder2 = new VPackBuilder();
                builder2.Add(SliceType.Object);
                builder2.Add("s", "test");
                builder2.Close();
                builder.Add(builder2.Slice());
            }
            builder.Close();
            VPackSlice slice = builder.Slice();

            Assert.NotNull(slice);

            Assert.True(slice.IsType(SliceType.Array));

            Assert.Equal(slice.Length, 10);
            for (int i = 0; i < 10; i++)
            {
                Assert.True(slice[i].IsType(SliceType.Object));

                Assert.True(slice[i]["s"].IsType(SliceType.String));

                Assert.Equal(slice[i]["s"].ToStringValue(), "test");

                Assert.Equal(slice[i].Length, 1);
            }
        }
Example #7
0
        public void Object2ByteOffset()
        {
            VPackBuilder builder = new VPackBuilder();

            builder.Add(SliceType.Object);
            int size = 10;

            for (int i = 0; i < size; i++)
            {
                builder.Add(i.ToString(), SliceType.Object);
                for (int j = 0; j < size; j++)
                {
                    builder.Add(j.ToString(), "test");
                }
                builder.Close();
            }
            builder.Close();
            VPackSlice vpack = builder.Slice();

            Assert.True(vpack.IsType(SliceType.Object));

            Assert.Equal(vpack.Length, size);
            for (int i = 0; i < size; i++)
            {
                VPackSlice attr = vpack[i.ToString()];

                Assert.True(attr.IsType(SliceType.Object));
                for (int j = 0; j < size; j++)
                {
                    VPackSlice childAttr = attr[j.ToString()];

                    Assert.True(childAttr.IsType(SliceType.String));
                }
            }
        }
Example #8
0
        public void AddLongAsSmallIntOutofRange()
        {
            VPackBuilder builder = new VPackBuilder();
            const long   VALUE   = long.MaxValue;

            Assert.Throws <VPackBuilderNumberOutOfRangeException>(() => builder.Add(VALUE, ValueType.SMALLINT));
        }
Example #9
0
        public void UnindexedArray()
        {
            long[]       expected = { 1, 16 };
            VPackBuilder builder  = new VPackBuilder();

            builder.GetOptions().SetBuildUnindexedArrays(true);
            builder.Add(SliceType.Array, false);
            foreach (var l in expected)
            {
                builder.Add(l);
            }
            builder.Close();

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsType(SliceType.Array));

            Assert.Equal(slice.Length, 2);
            for (int i = 0; i < expected.Length; i++)
            {
                VPackSlice at = slice[i];

                Assert.True(at.IsInteger());

                Assert.Equal(at.ToInt64(), expected[i]);
            }
        }
Example #10
0
        public void AddBigIntegerAsSmallIntOutofRange()
        {
            VPackBuilder builder = new VPackBuilder();
            BigInteger   value   = new BigInteger(long.MaxValue);

            Assert.Throws <VPackBuilderNumberOutOfRangeException>(() => builder.Add(value, ValueType.SMALLINT));
        }
Example #11
0
        public void CompactArray()
        {
            long[]       expected = { 1, 16 };
            VPackBuilder builder  = new VPackBuilder();

            builder.Add(SliceType.Array, true);
            foreach (var l in expected)
            {
                builder.Add(l);
            }
            builder.Close();

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsType(SliceType.Array));

            Assert.Equal(slice.Length, 2);
            for (int i = 0; i < expected.Length; i++)
            {
                VPackSlice at = slice[i];

                Assert.True(at.IsNumeric());

                Assert.Equal(at.ToInt64(), expected[i]);
            }
        }
Example #12
0
 public VPackContentHandler(VPackBuilder builder, bool includeNullValues
                            )
 {
     this.builder           = builder;
     this.includeNullValues = includeNullValues;
     this.attribute         = null;
 }
 /// <exception cref="VPackException"/>
 public override void Serialize(
     VPackBuilder builder,
     string attribute,
     short value,
     IVPackSerializationContext context)
 {
     builder.Add(attribute, value);
 }
Example #14
0
        public void NonASCII()
        {
            string     s     = "·ÃÂ";
            VPackSlice vpack = new VPackBuilder().Add(s).Slice();

            Assert.True(vpack.IsType(SliceType.String));
            Assert.Equal(vpack.ToStringValue(), s);
        }
Example #15
0
        public void CloseClosed()
        {
            VPackBuilder builder = new VPackBuilder();

            builder.Add(SliceType.Object);
            builder.Close();
            Assert.Throws <VPackBuilderNeedOpenCompoundException>(() => builder.Close());
        }
Example #16
0
 /// <exception cref="VPackException"/>
 public virtual void add(string attribute, int key)
 {
     if (this.builder == null)
     {
         this.builder = new VPackBuilder();
         this.builder.Add(ValueType.OBJECT);
     }
     this.builder.Add(attribute, key);
 }
Example #17
0
        public void ArrayInArrayInArray()
        {
            //{ { { 1, 2, 3 } } }
            long[][][] values = new long[1][][];
            values[0]    = new long[1][];
            values[0][0] = new long[] { 1, 2, 3 };

            VPackBuilder builder = new VPackBuilder();

            builder.Add(SliceType.Array);
            foreach (var lss in values)
            {
                builder.Add(SliceType.Array);
                foreach (var ls in lss)
                {
                    builder.Add(SliceType.Array);
                    foreach (var l in ls)
                    {
                        builder.Add(l);
                    }
                    builder.Close();
                }
                builder.Close();
            }
            builder.Close();

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsType(SliceType.Array));

            Assert.Equal(slice.Length, values.Length);
            for (int i = 0; i < values.Length; i++)
            {
                VPackSlice lls = slice[i];

                Assert.True(lls.IsType(SliceType.Array));

                Assert.Equal(lls.Length, values[i].Length);
                for (int j = 0; j < values[i].Length; j++)
                {
                    VPackSlice ls = lls[i];

                    Assert.True(ls.IsType(SliceType.Array));

                    Assert.Equal(ls.Length, values[i][j].Length);
                    for (int k = 0; k < values[i][j].Length; k++)
                    {
                        VPackSlice l = ls[k];

                        Assert.True(l.IsInteger());

                        Assert.Equal(l.ToInt64(), values[i][j][k]);
                    }
                }
            }
        }
Example #18
0
        public void AddNull()
        {
            VPackBuilder builder = new VPackBuilder();

            builder.Add(ValueType.NULL);

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsNull);
        }
Example #19
0
        public void AddNull()
        {
            VPackBuilder builder = new VPackBuilder();

            builder.Add(SliceType.Null);

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsType(SliceType.Null));
        }
Example #20
0
        public void AddBoolNull()
        {
            var slice = new VPackBuilder()
                        .Add((bool?)null)
                        .Slice();

            Assert.True(slice.IsType(SliceType.Null));
            Assert.Equal(slice.Value(), null);
            Assert.Equal(slice.ToBoolean(), null);
        }
Example #21
0
        public void AddSingleMin()
        {
            var slice = new VPackBuilder()
                        .Add(float.MinValue)
                        .Slice();

            Assert.True(slice.IsType(SliceType.Double));
            Assert.Equal(slice.Value().GetType(), typeof(double));
            Assert.Equal(slice.ToSingle(), float.MinValue);
        }
Example #22
0
        public void AddDoubleNull()
        {
            var slice = new VPackBuilder()
                        .Add((double?)null)
                        .Slice();

            Assert.True(slice.IsType(SliceType.Null));
            Assert.Equal(slice.Value(), null);
            Assert.Equal(slice.ToDouble(), null);
        }
Example #23
0
        public void AddBooleanFalse()
        {
            VPackBuilder builder = new VPackBuilder();

            builder.Add(false);

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsBoolean);
            Assert.False(slice.AsBoolean);
        }
Example #24
0
        public void AddBoolFalse()
        {
            var slice = new VPackBuilder()
                        .Add(false)
                        .Slice();

            Assert.True(slice.IsType(SliceType.Boolean));
            Assert.Equal(slice.Value().GetType(), typeof(bool));
            Assert.Equal(slice.Value(), false);
            Assert.Equal(slice.ToBoolean(), false);
        }
Example #25
0
        public void AddDoubleMax()
        {
            var slice = new VPackBuilder()
                        .Add(double.MaxValue)
                        .Slice();

            Assert.True(slice.IsType(SliceType.Double));
            Assert.Equal(slice.Value().GetType(), typeof(double));
            Assert.Equal(slice.Value(), double.MaxValue);
            Assert.Equal(slice.ToDouble(), double.MaxValue);
        }
 /// <exception cref="VPackException"/>
 public void serialize(VPackBuilder builder, string attribute
                       , AuthenticationRequest value, VPackSerializationContext
                       context)
 {
     builder.Add(attribute, ValueType.ARRAY);
     builder.Add(value.getVersion());
     builder.Add(value.getType());
     builder.Add(value.getEncryption());
     builder.Add(value.getUser());
     builder.Add(value.getPassword());
     builder.Close();
 }
Example #27
0
        public void AddIntegerAsSmallIntMax()
        {
            VPackBuilder builder = new VPackBuilder();
            const int    VALUE   = 9;

            builder.Add(VALUE);

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsSmallInt);
            Assert.Equal(VALUE, slice.AsInt);
        }
Example #28
0
        public void AddDouble()
        {
            VPackBuilder builder = new VPackBuilder();
            const double VALUE   = Double.MaxValue;

            builder.Add(VALUE);

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsDouble);
            Assert.Equal(VALUE, slice.AsDouble);
        }
Example #29
0
        public void AddStringLong()
        {
            VPackBuilder builder = new VPackBuilder();
            const string VALUE   = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.";

            builder.Add(VALUE);

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsString);
            Assert.Equal(VALUE, slice.AsString);
        }
Example #30
0
        public void AddStringShort()
        {
            VPackBuilder builder = new VPackBuilder();
            const string VALUE   = "Hallo Welt!";

            builder.Add(VALUE);

            VPackSlice slice = builder.Slice();

            Assert.True(slice.IsString);
            Assert.Equal(VALUE, slice.AsString);
        }