Exemple #1
0
        public void SerializeNull()
        {
            var s = VPack.Serialize(null);
            var d = VPack.Deserialize <object>(s);

            Assert.Null(d);
        }
Exemple #2
0
        public void SerializeString()
        {
            var s = VPack.Serialize("Hello ,?");
            var d = VPack.Deserialize <string>(s);

            Assert.Equal("Hello ,?", d);
        }
Exemple #3
0
        public void SerializeChar()
        {
            var s = VPack.Serialize('a');
            var d = VPack.Deserialize <char>(s);

            Assert.Equal('a', d);
        }
Exemple #4
0
        public void SerializeULong()
        {
            var s = VPack.Serialize(ulong.MaxValue);
            var d = VPack.Deserialize <ulong>(s);

            Assert.Equal(ulong.MaxValue, d);
        }
Exemple #5
0
        public void SerializeInt()
        {
            var s = VPack.Serialize(int.MaxValue);
            var d = VPack.Deserialize <int>(s);

            Assert.Equal(int.MaxValue, d);
        }
        public void DeserializeCompactArray()
        {
            // TODO: cast to List<sbyte>

            // given
            var data = Converter.ToVPackBytes(Paths.JsonCompactArray, true, false);

            // when
            var value = VPack.ToObject <List <object> >(data);

            // then
            // array
            Assert.IsInstanceOf <List <object> >(value);
            Assert.AreEqual(3, value.Count);

            // first item
            var item1 = value[0];

            Assert.IsInstanceOf <sbyte>(item1);
            Assert.AreEqual(1, item1);

            // second item
            var item2 = value[1];

            Assert.IsInstanceOf <sbyte>(item2);
            Assert.AreEqual(2, item2);

            // third item
            var item3 = value[2];

            Assert.IsInstanceOf <sbyte>(item3);
            Assert.AreEqual(3, item3);
        }
Exemple #7
0
 public ArangoUtil(VPack vpacker, VPack vpackerNull, VPackParser vpackParser)
     : base()
 {
     this.vpacker     = vpacker;
     this.vpackerNull = vpackerNull;
     this.vpackParser = vpackParser;
 }
        public void DeserializeNonIndexedArray()
        {
            // given
            var data = Hex.EightByteNonIndexedArray;

            // when
            var value = VPack.ToObject <List <object> >(data);

            // then
            // array
            Assert.IsInstanceOf <List <object> >(value);
            Assert.AreEqual(3, value.Count);

            // first item
            var item1 = value[0];

            Assert.IsInstanceOf <sbyte>(item1);
            Assert.AreEqual(1, item1);

            // second item
            var item2 = value[1];

            Assert.IsInstanceOf <sbyte>(item2);
            Assert.AreEqual(2, item2);

            // third item
            var item3 = value[2];

            Assert.IsInstanceOf <sbyte>(item3);
            Assert.AreEqual(3, item3);
        }
Exemple #9
0
        public void SerializeByte()
        {
            var s = VPack.Serialize(byte.MaxValue);
            var d = VPack.Deserialize <byte>(s);

            Assert.Equal(byte.MaxValue, d);
        }
Exemple #10
0
        public void SerializeUShort()
        {
            var s = VPack.Serialize(ushort.MaxValue);
            var d = VPack.Deserialize <ushort>(s);

            Assert.Equal(ushort.MaxValue, d);
        }
Exemple #11
0
        public void SerializeDouble()
        {
            var s = VPack.Serialize(double.MaxValue);
            var d = VPack.Deserialize <double>(s);

            Assert.Equal(double.MaxValue, d);
        }
Exemple #12
0
        public void SerializeSingle()
        {
            var s = VPack.Serialize(float.MaxValue);
            var d = VPack.Deserialize <float>(s);

            Assert.Equal(float.MaxValue, d);
        }
Exemple #13
0
        public void SerializeBoolNul()
        {
            var s = VPack.Serialize((bool?)null);
            var d = VPack.Deserialize <bool?>(s);

            Assert.Null(d);
        }
Exemple #14
0
        public void SerializeBool()
        {
            var s = VPack.Serialize(true);
            var d = VPack.Deserialize <bool>(s);

            Assert.True(d);
        }
Exemple #15
0
        public void SerializeTimeSpan()
        {
            var timeSpan = TimeSpan.FromMinutes(90);
            var s        = VPack.Serialize(timeSpan);
            var d        = VPack.Deserialize <TimeSpan>(s);

            Assert.Equal(timeSpan.Ticks, d.Ticks);
        }
Exemple #16
0
        public void SerializeDateTimeOffset()
        {
            var date = new DateTimeOffset(2000, 8, 7, 6, 5, 4, TimeSpan.Zero);
            var s    = VPack.Serialize(date);
            var d    = VPack.Deserialize <DateTimeOffset>(s);

            Assert.Equal(date, d);
        }
Exemple #17
0
        public void SerializeDateTime()
        {
            var date = new DateTime(2000, 8, 7, 6, 5, 4);
            var s    = VPack.Serialize(date);
            var d    = VPack.Deserialize <DateTime>(s);

            Assert.Equal(date, d);
        }
        static void ParseArrayToSegment()
        {
            // hex dump of [1, 2, 3]
            var arrayBytes = new byte[] { 0x02, 0x05, 0x31, 0x32, 0x33 };
            // parsed segment
            var arraySegment = VPack.ToSegment(arrayBytes);

            PrintSegment(arraySegment);
        }
Exemple #19
0
 public ArangoExecutorSync(Communication <Response
                                          , ConnectionSync> communication, VPack
                           vpacker, VPack vpackerNull, VPackParser
                           vpackParser, DocumentCache documentCache, CollectionCache
                           collectionCache)
     : base(communication, vpacker, vpackerNull, vpackParser, documentCache, collectionCache
            )
 {
 }
 protected internal ArangoDatabase(Communication
                                   <Response, ConnectionSync
                                   > communication, VPack vpacker, VPack
                                   vpackerNull, VPackParser vpackParser, DocumentCache
                                   documentCache, CollectionCache collectionCache, string name
                                   )
     : base(new ArangoExecutorSync(communication, vpacker, vpackerNull
                                   , vpackParser, documentCache, collectionCache), name)
 {
 }
Exemple #21
0
        public void SegmentizeCompactArray()
        {
            // given
            var data = Converter.ToVPackBytes(Paths.JsonCompactArray, true, false);

            // when
            var segment = VPack.ToSegment <CompactArraySegment>(data);

            // then
            // array
            Assert.IsInstanceOf <CompactArraySegment>(segment);
            Assert.IsInstanceOf <ArraySegment>(segment);
            Assert.AreEqual(0, segment.StartIndex);
            Assert.AreEqual(6, segment.CursorIndex);
            Assert.AreEqual(data.Length, segment.ByteLength);
            Assert.AreEqual(SegmentType.CompactArray, segment.Type);
            Assert.AreEqual(ValueType.CompactNonIndexedArray, segment.ValueType);
            Assert.AreEqual(2, segment.ValueStartIndex);
            Assert.AreEqual(3, segment.ValueByteLength);
            Assert.AreEqual(3, segment.Items.Count);
            Assert.AreEqual(segment.ItemCount, segment.Items.Count);

            // first small integer segment item
            var item1 = segment.Items[0];

            Assert.IsInstanceOf <SmallIntegerSegment>(item1);
            Assert.AreEqual(2, item1.StartIndex);
            Assert.AreEqual(3, item1.CursorIndex);
            Assert.AreEqual(SegmentType.SmallInteger, item1.Type);
            Assert.AreEqual(ValueType.PosOneInt, item1.ValueType);
            Assert.AreEqual(2, item1.ValueStartIndex);
            Assert.AreEqual(1, item1.ValueByteLength);

            // second small integer segment item
            var item2 = segment.Items[1];

            Assert.IsInstanceOf <SmallIntegerSegment>(item2);
            Assert.AreEqual(3, item2.StartIndex);
            Assert.AreEqual(4, item2.CursorIndex);
            Assert.AreEqual(SegmentType.SmallInteger, item2.Type);
            Assert.AreEqual(ValueType.PosTwoInt, item2.ValueType);
            Assert.AreEqual(3, item2.ValueStartIndex);
            Assert.AreEqual(1, item2.ValueByteLength);

            // third small integer segment item
            var item3 = segment.Items[2];

            Assert.IsInstanceOf <SmallIntegerSegment>(item3);
            Assert.AreEqual(4, item3.StartIndex);
            Assert.AreEqual(5, item3.CursorIndex);
            Assert.AreEqual(SegmentType.SmallInteger, item3.Type);
            Assert.AreEqual(ValueType.PosThreeInt, item3.ValueType);
            Assert.AreEqual(4, item3.ValueStartIndex);
            Assert.AreEqual(1, item3.ValueByteLength);
        }
Exemple #22
0
 public _DBAccess_196(ArangoDB _enclosing, Communication
                      <Response, ConnectionSync
                      > cacheCom, VPack vpackNull, VPack
                      vpack, VPackParser vpackParser)
 {
     this._enclosing  = _enclosing;
     this.cacheCom    = cacheCom;
     this.vpackNull   = vpackNull;
     this.vpack       = vpack;
     this.vpackParser = vpackParser;
 }
Exemple #23
0
        public void DeserializeNoneValue()
        {
            // given
            var data = new byte[] { 0x00 };

            // when
            var value = VPack.ToObject <object>(data);

            // then
            Assert.IsNull(value);
        }
Exemple #24
0
        public void DeserializeZeroIntValue()
        {
            // given
            var data = Converter.ToVPackBytes(Paths.JsonZeroInt);

            // when
            var value = VPack.ToObject <sbyte>(data);

            // then
            Assert.AreEqual(0, value);
        }
        public void DeserializeFalseBooleanValue()
        {
            // given
            var data = Converter.ToVPackBytes(Paths.JsonFalseValue);

            // when
            var value = VPack.ToObject <bool>(data);

            // then
            Assert.IsFalse(value);
        }
Exemple #26
0
        public void SegmentizeNonIndexedArray()
        {
            // given
            var data = Hex.EightByteNonIndexedArray;

            // when
            var segment = VPack.ToSegment <NonIndexedArraySegment>(data);

            // then
            // array
            Assert.IsInstanceOf <NonIndexedArraySegment>(segment);
            Assert.IsInstanceOf <ArraySegment>(segment);
            Assert.AreEqual(0, segment.StartIndex);
            Assert.AreEqual(12, segment.CursorIndex);
            Assert.AreEqual(data.Length, segment.ByteLength);
            Assert.AreEqual(SegmentType.NonIndexedArray, segment.Type);
            Assert.AreEqual(ValueType.EightByteNonIndexedArray, segment.ValueType);
            Assert.AreEqual(9, segment.ValueStartIndex);
            Assert.AreEqual(3, segment.ValueByteLength);
            Assert.AreEqual(3, segment.Items.Count);

            // first item
            var item1 = segment.Items[0];

            Assert.IsInstanceOf <SmallIntegerSegment>(item1);
            Assert.AreEqual(9, item1.StartIndex);
            Assert.AreEqual(10, item1.CursorIndex);
            Assert.AreEqual(SegmentType.SmallInteger, item1.Type);
            Assert.AreEqual(ValueType.PosOneInt, item1.ValueType);
            Assert.AreEqual(9, item1.ValueStartIndex);
            Assert.AreEqual(1, item1.ValueByteLength);

            // second item
            var item2 = segment.Items[1];

            Assert.IsInstanceOf <SmallIntegerSegment>(item2);
            Assert.AreEqual(10, item2.StartIndex);
            Assert.AreEqual(11, item2.CursorIndex);
            Assert.AreEqual(SegmentType.SmallInteger, item2.Type);
            Assert.AreEqual(ValueType.PosTwoInt, item2.ValueType);
            Assert.AreEqual(10, item2.ValueStartIndex);
            Assert.AreEqual(1, item2.ValueByteLength);

            // third item
            var item3 = segment.Items[2];

            Assert.IsInstanceOf <SmallIntegerSegment>(item3);
            Assert.AreEqual(11, item3.StartIndex);
            Assert.AreEqual(12, item3.CursorIndex);
            Assert.AreEqual(SegmentType.SmallInteger, item3.Type);
            Assert.AreEqual(ValueType.PosThreeInt, item3.ValueType);
            Assert.AreEqual(11, item3.ValueStartIndex);
            Assert.AreEqual(1, item3.ValueByteLength);
        }
Exemple #27
0
        public void DeserializeDoubleValue()
        {
            // given
            var data = Converter.ToVPackBytes(Paths.JsonDouble);

            // when
            var value = VPack.ToObject <double>(data);

            // then
            Assert.AreEqual(0.33333333333333331, value);
        }
Exemple #28
0
        public void DeserializeMinKeyValue()
        {
            // given
            var data = Hex.MinKeyValue;

            // when
            var value = VPack.ToObject <object>(data);

            // then
            Assert.IsNull(value);
        }
Exemple #29
0
        public void DeserializePosOneByteFloatValue()
        {
            // given
            var data = Hex.PosOneByteLengthFloatValue;

            // when
            var value = VPack.ToObject <float>(data);

            // then
            Assert.AreEqual((float)12345, value);
        }
        public void DeserializeNullValue()
        {
            // given
            var data = Converter.ToVPackBytes(Paths.JsonNullValue);

            // when
            var value = VPack.ToObject <object>(data);

            // then
            Assert.IsNull(value);
        }