public void MessageSerializer_should_serialize_fsm_snapshot() { var snapshot = new PersistentFSM.PersistentFSMSnapshot <MyPayload>("a", new MyPayload("b"), TimeSpan.FromSeconds(10)); var bytes = _serializer.ToBinary(snapshot); var backSnapshot = _serializer.FromBinary <PersistentFSM.PersistentFSMSnapshot <MyPayload> >(bytes); backSnapshot.Should().NotBeNull(); backSnapshot.StateIdentifier.Should().Be("a"); backSnapshot.Data.Data.Should().Be(".b."); // custom MyPayload serializer prepends and appends . backSnapshot.Timeout.Should().Be(TimeSpan.FromSeconds(10)); }
public virtual void SnapshotStore_should_serialize_PersistentFSMSnapshot() { var probe = CreateTestProbe(); var persistentFSMSnapshot = new PersistentFSM.PersistentFSMSnapshot <string>("mystate", "mydata", TimeSpan.FromDays(4)); var metadata = new SnapshotMetadata(Pid, 2); SnapshotStore.Tell(new SaveSnapshot(metadata, persistentFSMSnapshot), probe.Ref); probe.ExpectMsg <SaveSnapshotSuccess>(); SnapshotStore.Tell(new LoadSnapshot(Pid, SnapshotSelectionCriteria.Latest, long.MaxValue), probe.Ref); probe.ExpectMsg <LoadSnapshotResult>(s => s.Snapshot.Snapshot.Equals(persistentFSMSnapshot)); }