public async Task Should_properly_handle_the_state_property() { State True = null; State False = null; Event <Data> Thing = null; var instance = new Instance(); var machine = AutomatonymousStateMachine <Instance> .New(builder => builder .State("True", out True) .State("False", out False) .Event("Thing", out Thing) .During(builder.Initial) .When(Thing, context => context.Data.Condition, b => b.TransitionTo(True)) .When(Thing, context => !context.Data.Condition, b => b.TransitionTo(False)) ); await machine.RaiseEvent(instance, Thing, new Data { Condition = true }); Assert.AreEqual(True, instance.CurrentState); var serializer = new JsonStateSerializer <StateMachine <Instance>, Instance>(machine); string body = serializer.Serialize(instance); Console.WriteLine("Body: {0}", body); var reInstance = serializer.Deserialize <Instance>(body); Assert.AreEqual(True, reInstance.CurrentState); }
private async Task WriteState(BehaviorContext <SaleBetSaga> context) { var json = JsonStateSerializer.Serialize(context.Instance); await ProcessingService.PersistenceProvider.Write(TOPIC, context.Instance.PersistenceID, json); }