public static void Register( string name, Action <IGenericWriter> serializer, Action <IGenericReader> deserializer, int priority = Persistence.DefaultPriority ) { BufferWriter saveBuffer = null; void Serialize() { saveBuffer ??= new BufferWriter(true); saveBuffer.Seek(0, SeekOrigin.Begin); serializer(saveBuffer); } void WriterSnapshot(string savePath) { string binPath = Path.Combine(savePath, name, $"{name}.bin"); var buffer = saveBuffer !.Buffer.AsSpan(0, (int)saveBuffer.Position); AdhocPersistence.WriteSnapshot(binPath, buffer); } void Deserialize(string savePath) => AdhocPersistence.Deserialize(Path.Combine(savePath, name, $"{name}.bin"), deserializer); Persistence.Register(name, Serialize, WriterSnapshot, Deserialize, priority); }
private void TestConstructor() { Persistence <string> adhocPersistence = new AdhocPersistence <string>(persistenceLoadMock.Object, persistenceStoreMock.Object); Assert.NotNull(adhocPersistence); }