Skip to content

Commit

Permalink
fix c# version
Browse files Browse the repository at this point in the history
  • Loading branch information
maxim.salamatko committed Nov 2, 2015
1 parent d2668c6 commit 30e4142
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 45 deletions.
78 changes: 45 additions & 33 deletions src/core/Akka.Persistence.Tests/Fsm/PersistentFSMSpec.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ public void PersistentFSM_should_has_function_as_regular_fsm()
ExpectMsg<EmptyShoppingCart>();
ExpectMsg<FSMBase.Transition<UserState>>(state => state.From == UserState.LookingAround);
ExpectMsg<NonEmptyShoppingCart>(
cart => { return cart.Items.Any(i => i.Name == "Shirt") && cart.Items.Count == 1; });
cart => cart.Items.Any(i => i.Name == "Shirt") && cart.Items.Count == 1);
ExpectMsg<NonEmptyShoppingCart>(
cart => { return cart.Items.Any(i => i.Name == "Shoes") && cart.Items.Count == 2; });
cart => cart.Items.Any(i => i.Name == "Shoes") && cart.Items.Count == 2);
ExpectMsg<NonEmptyShoppingCart>(
cart => { return cart.Items.Any(i => i.Name == "Coat") && cart.Items.Count == 3; });
cart => cart.Items.Any(i => i.Name == "Coat") && cart.Items.Count == 3);
ExpectMsg<FSMBase.Transition<UserState>>();
ExpectMsg<NonEmptyShoppingCart>();
ExpectTerminated(fsmRef);
Expand All @@ -68,7 +68,7 @@ public void PersistentFSM_should_has_function_as_regular_fsm_on_state_timeout()
var shirt = new Item("1", "Shirt", 59.99F);

fsmRef.Tell(new AddItem(shirt));
ExpectMsg<FSMBase.CurrentState<UserState>>(state => { return state.State == UserState.LookingAround; });
ExpectMsg<FSMBase.CurrentState<UserState>>(state => state.State == UserState.LookingAround);

ExpectMsg<FSMBase.Transition<UserState>>();

Expand Down Expand Up @@ -104,11 +104,11 @@ public void PersistentFSM_should_recover_successfully_with_correct_state_data()

ExpectMsg<FSMBase.CurrentState<UserState>>();
ExpectMsg<EmptyShoppingCart>();
ExpectMsg<FSMBase.Transition<UserState>>(state => { return state.From == UserState.LookingAround; });
ExpectMsg<FSMBase.Transition<UserState>>(state => state.From == UserState.LookingAround);
ExpectMsg<NonEmptyShoppingCart>(
cart => { return cart.Items.Any(i => i.Name == "Shirt") && cart.Items.Count == 1; });
cart => cart.Items.Any(i => i.Name == "Shirt") && cart.Items.Count == 1);
ExpectMsg<NonEmptyShoppingCart>(
cart => { return cart.Items.Any(i => i.Name == "Shoes") && cart.Items.Count == 2; });
cart => cart.Items.Any(i => i.Name == "Shoes") && cart.Items.Count == 2);

fsmRef.Tell(PoisonPill.Instance);
ExpectTerminated(fsmRef);
Expand All @@ -124,11 +124,11 @@ public void PersistentFSM_should_recover_successfully_with_correct_state_data()
recoveredFsmRef.Tell(new GetCurrentCart());
recoveredFsmRef.Tell(new Leave());

ExpectMsg<FSMBase.CurrentState<UserState>>(state => { return state.State == UserState.Shopping; });
ExpectMsg<FSMBase.CurrentState<UserState>>(state => state.State == UserState.Shopping);
ExpectMsg<NonEmptyShoppingCart>(
cart => { return cart.Items.Any(i => i.Name == "Shoes") && cart.Items.Count == 2; });
cart => cart.Items.Any(i => i.Name == "Shoes") && cart.Items.Count == 2);
ExpectMsg<NonEmptyShoppingCart>(
cart => { return cart.Items.Any(i => i.Name == "Coat") && cart.Items.Count == 3; });
cart => cart.Items.Any(i => i.Name == "Coat") && cart.Items.Count == 3);
ExpectMsg<FSMBase.Transition<UserState>>();
ExpectMsg<NonEmptyShoppingCart>();
ExpectTerminated(recoveredFsmRef);
Expand All @@ -154,11 +154,11 @@ public void PersistentFSM_should_execute_the_defined_actions_following_successfu
fsmRef.Tell(new Buy());
fsmRef.Tell(new Leave());

ExpectMsg<FSMBase.CurrentState<UserState>>(state => { return state.State == UserState.LookingAround; });
ExpectMsg<FSMBase.CurrentState<UserState>>(state => state.State == UserState.LookingAround);
ExpectMsg<FSMBase.Transition<UserState>>(
state => { return state.From == UserState.LookingAround && state.To == UserState.Shopping; });
state => state.From == UserState.LookingAround && state.To == UserState.Shopping);
ExpectMsg<FSMBase.Transition<UserState>>(
state => { return state.From == UserState.Shopping && state.To == UserState.Paid; });
state => state.From == UserState.Shopping && state.To == UserState.Paid);
reportActorProbe.ExpectMsg<PurchaseWasMade>();
ExpectTerminated(fsmRef);
}
Expand All @@ -182,9 +182,9 @@ public void PersistentFSM_should_execute_the_defined_actions_following_successfu
fsmRef.Tell(new AddItem(coat));
fsmRef.Tell(new Leave());

ExpectMsg<FSMBase.CurrentState<UserState>>(state => { return state.State == UserState.LookingAround; });
ExpectMsg<FSMBase.CurrentState<UserState>>(state => state.State == UserState.LookingAround);
ExpectMsg<FSMBase.Transition<UserState>>(
state => { return state.From == UserState.LookingAround && state.To == UserState.Shopping; });
state => state.From == UserState.LookingAround && state.To == UserState.Shopping);
reportActorProbe.ExpectMsg<ShoppingCardDiscarded>();
ExpectTerminated(fsmRef);
}
Expand All @@ -203,9 +203,9 @@ public void PersistentFSM_should_recover_successfully_with_correct_state_timeout

fsmRef.Tell(new AddItem(shirt));

ExpectMsg<FSMBase.CurrentState<UserState>>(state => { return state.State == UserState.LookingAround; });
ExpectMsg<FSMBase.CurrentState<UserState>>(state => state.State == UserState.LookingAround);
ExpectMsg<FSMBase.Transition<UserState>>(
state => { return state.From == UserState.LookingAround && state.To == UserState.Shopping; });
state => state.From == UserState.LookingAround && state.To == UserState.Shopping);

ExpectNoMsg(TimeSpan.FromSeconds(0.6));
fsmRef.Tell(PoisonPill.Instance);
Expand All @@ -215,7 +215,7 @@ public void PersistentFSM_should_recover_successfully_with_correct_state_timeout
Watch(recoveredFsmRef);
recoveredFsmRef.Tell(new FSMBase.SubscribeTransitionCallBack(TestActor));

ExpectMsg<FSMBase.CurrentState<UserState>>(state => { return state.State == UserState.Shopping; });
ExpectMsg<FSMBase.CurrentState<UserState>>(state => state.State == UserState.Shopping);


Within(TimeSpan.FromSeconds(0.9), TimeSpan.FromSeconds(1.9), () =>
Expand All @@ -231,7 +231,7 @@ public void PersistentFSM_should_recover_successfully_with_correct_state_timeout
recoveredFsmRef = Sys.ActorOf(Props.Create(() => new WebStoreCustomerFSM(Name, dummyReportActorRef)));
Watch(recoveredFsmRef);
recoveredFsmRef.Tell(new FSMBase.SubscribeTransitionCallBack(TestActor));
ExpectMsg<FSMBase.CurrentState<UserState>>(state => { return state.State == UserState.Inactive; });
ExpectMsg<FSMBase.CurrentState<UserState>>(state => state.State == UserState.Inactive);
ExpectTerminated(recoveredFsmRef);
}

Expand Down Expand Up @@ -316,10 +316,11 @@ public void PersistentFSM_should_not_persist_state_change_event_when_staying_in_
internal class WebStoreCustomerFSM : PersistentFSM<UserState, IShoppingCart, IDomainEvent>
{
private readonly IActorRef _reportActor;
private readonly string _persistenceId;

public WebStoreCustomerFSM(string persistenceId, IActorRef reportActor)
{
PersistenceId = persistenceId;
_persistenceId = persistenceId;
_reportActor = reportActor;
StartWith(UserState.LookingAround, new EmptyShoppingCart());

Expand Down Expand Up @@ -365,7 +366,7 @@ public WebStoreCustomerFSM(string persistenceId, IActorRef reportActor)
return
Stop()
.Applying(new OrderDiscarded())
.AndThen(cart => { _reportActor.Tell(new ShoppingCardDiscarded()); });
.AndThen(cart => _reportActor.Tell(new ShoppingCardDiscarded()));
}
if (@event.FsmEvent is GetCurrentCart)
{
Expand Down Expand Up @@ -395,7 +396,7 @@ public WebStoreCustomerFSM(string persistenceId, IActorRef reportActor)
return
Stop()
.Applying(new OrderDiscarded())
.AndThen(cart => { _reportActor.Tell(new ShoppingCardDiscarded()); });
.AndThen(cart => _reportActor.Tell(new ShoppingCardDiscarded()));
}
return state;
});
Expand All @@ -414,7 +415,10 @@ public WebStoreCustomerFSM(string persistenceId, IActorRef reportActor)
});
}

public override string PersistenceId { get; }
public override string PersistenceId
{
get { return _persistenceId; }
}


protected override void OnRecoveryCompleted()
Expand Down Expand Up @@ -445,10 +449,11 @@ protected override IShoppingCart ApplyEvent(IDomainEvent e, IShoppingCart data)
internal class SimpleTransitionFSM : PersistentFSM<UserState, IShoppingCart, IDomainEvent>
{
private readonly IActorRef _reportActor;
private readonly string _persistenceId;

public SimpleTransitionFSM(string persistenceId, IActorRef reportActor)
{
PersistenceId = persistenceId;
_persistenceId = persistenceId;
_reportActor = reportActor;
StartWith(UserState.LookingAround, new EmptyShoppingCart());

Expand All @@ -460,10 +465,13 @@ public SimpleTransitionFSM(string persistenceId, IActorRef reportActor)
}
return GoTo(UserState.LookingAround);
});
OnTransition((state, nextState) => { _reportActor.Tell(string.Format("{0} -> {1}", state, nextState)); });
OnTransition((state, nextState) => _reportActor.Tell(string.Format("{0} -> {1}", state, nextState)));
}

public override string PersistenceId { get; }
public override string PersistenceId
{
get { return _persistenceId; }
}


protected override void OnRecoveryCompleted()
Expand All @@ -479,14 +487,18 @@ protected override IShoppingCart ApplyEvent(IDomainEvent e, IShoppingCart data)
internal class PersistentEventsStreamer : PersistentActor
{
private readonly IActorRef _client;
private readonly string _persistenceId;

public PersistentEventsStreamer(string persistenceId, IActorRef client)
{
PersistenceId = persistenceId;
_persistenceId = persistenceId;
_client = client;
}

public override string PersistenceId { get; }
public override string PersistenceId
{
get { return _persistenceId; }
}

protected override bool ReceiveRecover(object message)
{
Expand Down Expand Up @@ -527,9 +539,9 @@ public Item(string id, string name, float price)
Price = price;
}

public string Id { get; }
public string Name { get; }
public float Price { get; }
public string Id { get; private set; }
public string Name { get; private set; }
public float Price { get; private set; }
}

internal interface IShoppingCart
Expand Down Expand Up @@ -591,7 +603,7 @@ public AddItem(Item item)
Item = item;
}

public Item Item { get; }
public Item Item { get; private set; }
}

internal class Buy
Expand Down Expand Up @@ -621,7 +633,7 @@ public ItemAdded(Item item)
Item = item;
}

public Item Item { get; }
public Item Item { get; private set; }
}

internal class OrderExecuted : IDomainEvent
Expand Down
4 changes: 2 additions & 2 deletions src/core/Akka.Persistence/Fsm/PersistentFSM.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ protected override bool ReceiveRecover(object message)
Initialize();
OnRecoveryCompleted();
})
.With<TEvent>(e => { StartWith(StateName, ApplyEvent(e, StateData)); })
.With<StateChangeEvent>(sce => { StartWith(sce.State, StateData, sce.TimeOut); });
.With<TEvent>(e => StartWith(StateName, ApplyEvent(e, StateData)))
.With<StateChangeEvent>(sce => StartWith(sce.State, StateData, sce.TimeOut));

return match.WasHandled;
}
Expand Down
20 changes: 10 additions & 10 deletions src/core/Akka.Persistence/Fsm/PersistentFSMBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ private StateFunction HandleEvent
set { _handleEvent = value; }
}

public bool IsStateTimerActive { get; }
public bool IsStateTimerActive { get; private set; }

public ListenerSupport Listeners
{
Expand Down Expand Up @@ -595,7 +595,7 @@ public TransformHelper(StateFunction func)
Func = func;
}

public StateFunction Func { get; }
public StateFunction Func { get; private set; }

public StateFunction Using(Func<State<TState, TData, TEvent>, State<TState, TData, TEvent>> andThen)
{
Expand Down Expand Up @@ -637,7 +637,7 @@ public TimeoutMarker(long generation)
Generation = generation;
}

public long Generation { get; }
public long Generation { get; private set; }
}

[DebuggerDisplay("Timer {Name,nq}, message: {Message")]
Expand All @@ -662,15 +662,15 @@ public class Timer : INoSerializationVerificationNeeded
_ref = new Cancelable(scheduler);
}

public string Name { get; }
public string Name { get; private set; }

public object Message { get; }
public object Message { get; private set; }

public bool Repeat { get; }
public bool Repeat { get; private set; }

public int Generation { get; }
public int Generation { get; private set; }

public IActorContext Context { get; }
public IActorContext Context { get; private set; }

public void Schedule(IActorRef actor, TimeSpan timeout)
{
Expand Down Expand Up @@ -712,7 +712,7 @@ public void Cancel()
/// <typeparam name="TE">The event of the state</typeparam>
public class State<TS, TD, TE> : FSMBase.State<TS, TD>
{
public Action<TD> AfterTransitionHandler { get; }
public Action<TD> AfterTransitionHandler { get; private set; }


public State(TS stateName, TD stateData, TimeSpan? timeout = null, FSMBase.Reason stopReason = null,
Expand All @@ -724,7 +724,7 @@ public class State<TS, TD, TE> : FSMBase.State<TS, TD>
Notifies = true;
}

public ILinearSeq<TE> DomainEvents { get; }
public ILinearSeq<TE> DomainEvents { get; private set; }

public bool Notifies { get; set; }

Expand Down

0 comments on commit 30e4142

Please sign in to comment.