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); }
public void NonASCII() { string s = "·ÃÂ"; VPackSlice vpack = new VPackBuilder().Add(s).Slice(); Assert.True(vpack.IsType(SliceType.String)); Assert.Equal(vpack.ToStringValue(), s); }
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); }
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); }
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); }
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); }
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); }
public void AddUIntMax() { var slice = new VPackBuilder() .Add(uint.MaxValue) .Slice(); Assert.True(slice.IsType(SliceType.UInt)); Assert.Equal(slice.TypeCode, 0x2b); Assert.Equal(slice.Value().GetType(), typeof(uint)); Assert.Equal(slice.Value(), uint.MaxValue); Assert.Equal(slice.ToUInt32(), uint.MaxValue); }
public void AddByteMax() { var slice = new VPackBuilder() .Add(byte.MaxValue) .Slice(); Assert.True(slice.IsType(SliceType.UInt)); Assert.Equal(slice.TypeCode, 0x28); Assert.Equal(slice.Value().GetType(), typeof(byte)); Assert.Equal(slice.Value(), byte.MaxValue); Assert.Equal(slice.ToByte(), byte.MaxValue); }
public void AddLongMin() { var slice = new VPackBuilder() .Add(long.MinValue) .Slice(); Assert.True(slice.IsType(SliceType.Int)); Assert.Equal(slice.TypeCode, 0x27); Assert.Equal(slice.Value().GetType(), typeof(long)); Assert.Equal(slice.Value(), long.MinValue); Assert.Equal(slice.ToInt64(), long.MinValue); }
public void AddIntMin() { var slice = new VPackBuilder() .Add(int.MinValue) .Slice(); Assert.True(slice.IsType(SliceType.Int)); Assert.Equal(slice.TypeCode, 0x23); Assert.Equal(slice.Value().GetType(), typeof(int)); Assert.Equal(slice.Value(), int.MinValue); Assert.Equal(slice.ToInt32(), int.MinValue); }
public void AddShortMin() { var slice = new VPackBuilder() .Add(short.MinValue) .Slice(); Assert.True(slice.IsType(SliceType.Int)); Assert.Equal(slice.TypeCode, 0x21); Assert.Equal(slice.Value().GetType(), typeof(short)); Assert.Equal(slice.Value(), short.MinValue); Assert.Equal(slice.ToInt16(), short.MinValue); }
public void AddSByteMin() { var slice = new VPackBuilder() .Add(sbyte.MinValue) .Slice(); Assert.True(slice.IsType(SliceType.Int)); Assert.Equal(slice.TypeCode, 0x20); Assert.Equal(slice.Value().GetType(), typeof(sbyte)); Assert.Equal(slice.Value(), sbyte.MinValue); Assert.Equal(slice.ToSByte(), sbyte.MinValue); }
public void AddULongMax() { var slice = new VPackBuilder() .Add(ulong.MaxValue) .Slice(); Assert.True(slice.IsType(SliceType.UInt)); Assert.Equal(slice.TypeCode, 0x2f); Assert.Equal(slice.Value().GetType(), typeof(ulong)); Assert.Equal(slice.Value(), ulong.MaxValue); Assert.Equal(slice.ToUInt64(), ulong.MaxValue); }
public void AddDateTimeOffset() { var date = new DateTimeOffset(2000, 10, 9, 8, 7, 6, TimeSpan.FromMinutes(150)); var slice = new VPackBuilder() .Add(date) .Slice(); Assert.True(slice.IsType(SliceType.UtcDate)); Assert.Equal(slice.Value().GetType(), typeof(DateTimeOffset)); Assert.Equal(slice.Value(), date); Assert.Equal(slice.ToDateTimeOffset(TimeSpan.FromMinutes(-30)), date); }
public void AddDateTimeUtc() { var date = new DateTime(2000, 10, 9, 8, 7, 6, DateTimeKind.Utc); var slice = new VPackBuilder() .Add(date) .Slice(); Assert.True(slice.IsType(SliceType.UtcDate)); Assert.Equal(slice.Value().GetType(), typeof(DateTimeOffset)); Assert.Equal(slice.Value(), new DateTimeOffset(date)); Assert.Equal(slice.ToDateTime(DateTimeKind.Utc), date); }
public void AddTimeSpan() { var timeSpan = TimeSpan.FromSeconds(321); var slice = new VPackBuilder() .Add(timeSpan) .Slice(); Assert.True(slice.IsType(SliceType.Int)); Assert.Equal(slice.Value().GetType(), typeof(long)); Assert.Equal(slice.Value(), timeSpan.Ticks); Assert.Equal(slice.ToTimeSpan(), timeSpan); }
public void Empty() { VPackSlice slice = new VPackBuilder().Slice(); Assert.True(slice.IsType(SliceType.None)); }