Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }