public static void VerifyNullableIsNull <T>(BssomSerializerOptions option = null) where T : struct { var buf = BssomSerializer.Serialize <Nullable <T> >(null, option); BssomSerializer.Size <Nullable <T> >(null, option).Is(1).Is(buf.Length); BssomSerializer.Deserialize <Nullable <T> >(buf, option).IsNull(); }
public static void VerifyTypeNull <T>(BssomSerializerOptions option = null) where T : class { var buf = BssomSerializer.Serialize <T>(null, option); BssomSerializer.Size <T>(null, option).Is(1).Is(buf.Length); BssomSerializer.Deserialize <T>(buf, option).IsNull(); }
public static byte[] VerifyEntityWithMap2 <T>(T value, BssomSerializerOptions option = null) { var buf = UseJsonToolForValidation(value, option); buf.IsMap2(); return(buf); }
public static void VerifySpecific <T>(Lazy <T> value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); BssomSerializer.Deserialize <Lazy <T> >(buf, option).Value.Is(value.Value); }
public static void VerifySimpleType <T>(T value, int size, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(size).Is(buf.Length); BssomSerializer.Deserialize <T>(buf, option).Is(value); }
public static void VerifyIDictWithMap2Type(IDictionary value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); BssomSerializer.Deserialize <IDictionary>(buf, option).GetGetEnumerator().IsDict(value.GetGetEnumerator()); buf.IsMap2(); }
public void SecurityVerification(_Attribute_Class_3 value, BssomSerializerOptions option) { if (value != null) { var exOption = (BssomSerializerOptionsExtend)option; exOption.SecurityVerification(value.GenerateToken(), value.GeneratePwd()); } }
private static byte[] SimplicityVerify <T>(T value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); BssomSerializer.Deserialize <T>(buf, option).Is(value); return(buf); }
public static byte[] VerifyIDictAndReturnSerializeBytes(IDictionary value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); BssomSerializer.Deserialize <IDictionary>(buf, option).GetGetEnumerator().IsDict(value.GetGetEnumerator()); return(buf); }
public Int32 ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.Int32Code) { return(reader.ReadInt32WithOutTypeHead()); } return(BssomSerializationArgumentException.InvalidOffsetInfoFormat <Int32>()); }
public static void VerifyMap(BssomMap value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); var map = (BssomMap)BssomSerializer.Deserialize <object>(buf, option); value.IsMap(map); }
public static void VerifyArray(BssomArray value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); var ary = (BssomArray)BssomSerializer.Deserialize <object>(buf, option); ary.IsArray(value); }
public Guid ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.GuidCode) { return(reader.ReadGuidWithOutTypeHead()); } return(BssomSerializationArgumentException.InvalidOffsetInfoFormat <Guid>()); }
public static void VerifySpecific <T>(IGrouping <T, T> value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); var group = BssomSerializer.Deserialize <IGrouping <T, T> >(buf, option); group.Key.Is(value.Key); group.Is(value); }
public static void ConvertObjectAndVerifyEntity(object value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); buf.IsMap2(); var map = (BssomMap)BssomSerializer.Deserialize <object>(buf, option); value.GetPublicMembersWithDynamicObject().IsMap(map); }
private static byte[] UseJsonToolForValidation <T>(T value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); var t = BssomSerializer.Deserialize <T>(buf, option); Kooboo.Json.JsonSerializer.ToJson(t).Is(Kooboo.Json.JsonSerializer.ToJson(value)); return(buf); }
public static void VerifySpecific(StringDictionary value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); var dict = new Dictionary <string, string>(BssomSerializer.Deserialize <StringDictionary>(buf, option).ToIEnumerable().ToIDict()); var dict2 = new Dictionary <string, string>(value.ToIEnumerable().ToIDict()); dict.IsDict(dict2); }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, Decimal value) { if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.DecimalCode) { writer.WriteWithOutTypeHead(value); } else { BssomSerializationArgumentException.InvalidOffsetInfoFormat <Decimal>(); } }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, Int32 value) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.Int32Code) { writer.WriteWithOutTypeHead(value); } else { BssomSerializationArgumentException.InvalidOffsetInfoFormat <Int32>(); } }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, Object value) { if (value is null) { throw new ArgumentNullException(nameof(value)); } IArray1ElementWriter array1ElementWriter = Array1ElementWriterContainers.GetArray1ElementWriter(offsetInfo.Array1ElementTypeIsNativeType, offsetInfo.Array1ElementType); array1ElementWriter.WriteObjectElement(ref writer, option, offsetInfo, value); }
public static void VerifySpecific <T>(ILookup <T, T> value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); var val = BssomSerializer.Deserialize <ILookup <T, T> >(buf, option); val.Count.Is(value.Count); foreach (var item in value) { VerifySpecific(item, option); } }
public DateTime ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.TimestampCode) { return(reader.ReadStandDateTimeWithOutTypeHead()); } else if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.DateTimeCode) { return(reader.ReadNativeDateTimeWithOutTypeHead()); } else { return(BssomSerializationArgumentException.InvalidOffsetInfoFormat <DateTime>()); } }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, DateTime value) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.TimestampCode) { writer.Write(value, true, false); } else if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.DateTimeCode) { writer.Write(value, false, false); } else { BssomSerializationArgumentException.InvalidOffsetInfoFormat <DateTime>(); } }
public static BssomArray ConvertArray3ObjectAndVerifyEntity <T>(T value, BssomSerializerOptions option = null) { if (option == null) { option = BssomSerializerOptions.IntKeyCompositedResolverOption; } var buf = BssomSerializer.Serialize(value, option); BssomSerializer.Size(value, option).Is(buf.Length); buf.IsArray3(); var desObj = BssomSerializer.Deserialize <T>(buf, option); Kooboo.Json.JsonSerializer.ToJson(value).Is(Kooboo.Json.JsonSerializer.ToJson(desObj)); return(BssomSerializer.Deserialize <BssomArray>(buf, option)); }
public static void VerifySize(object value, BssomSerializerOptions option = null) { var buf = BssomSerializer.Serialize(value, option); buf.Length.Is(BssomSerializer.Size(value, option)); var reader = new BssomReader(new SimpleBufferWriter(buf)); reader.SkipObject(); reader.Position.Is(buf.Length); var bsfm = new BssomFieldMarshaller(buf); bsfm.ReadValueSize(BssomFieldOffsetInfo.Zero).Is(buf.Length); }
public object ReadObjectElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { throw new NotImplementedException(); }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, BssomDecimal value) { WriteElement(ref writer, option, offsetInfo, value.RawValue); }
public object ReadObjectElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { return(ReadElement(ref reader, option, offsetInfo)); }
BssomDecimal IArray1ElementWriter <BssomDecimal> .ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { return((BssomDecimal)BssomValue.Create(ReadElement(ref reader, option, offsetInfo))); }
public void WriteObjectElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, object value) { WriteElement(ref writer, option, offsetInfo, (Int16)value); }