public static void AssertReadAndWrite <T>(IBinaryMapping mapper, T value, int expectedLength, Action <ValuePair <T> > assertion = null) { var expected = new Generic <T> { Value = value }; var actual = new Generic <T>(); var memory = new MemoryStream(); mapper.WriteObject(memory, expected); Assert.Equal(expectedLength, memory.Length); memory.Position = 0; mapper.ReadObject(memory, actual); Assert.Equal(expectedLength, memory.Position); if (assertion != null) { assertion(new ValuePair <T> { Expected = value, Actual = actual.Value }); } else { Assert.Equal(expected.Value, actual.Value); } }
static SavePersona5() { Mapper = MappingConfiguration .DefaultConfiguration(Encoding.UTF8, true) .ForType <string>(ReadString, WriteString) .Build(); }
static SaveKh2() { Mapper = MappingConfiguration .DefaultConfiguration() .ForType <TimeSpan>( x => new TimeSpan(0, 0, 0, x.Reader.ReadInt32(), 0), x => x.Writer.Write((int)((TimeSpan)x.Item).TotalSeconds) ) .Build(); }
static BinaryMapping() { DefautlEncoding = Encoding.UTF8; DefaultConfiguration = MappingConfiguration.DefaultConfiguration(DefautlEncoding); Default = new RealBinaryMapping(DefaultConfiguration); }
public static T ReadObject <T>(this IBinaryMapping binaryMapping, Stream stream, int baseOffset = 0) where T : class => (T)binaryMapping.ReadObject(stream, Activator.CreateInstance <T>(), baseOffset);
static SaveKh3() { Mapper = MappingConfiguration .DefaultConfiguration() .Build(); }