diff --git a/src/core/Akka.TestKit.Tests/TestFSMRefTests!/TestFSMRefSpec.cs b/src/core/Akka.TestKit.Tests/TestFSMRefTests/TestFSMRefSpec.cs similarity index 58% rename from src/core/Akka.TestKit.Tests/TestFSMRefTests!/TestFSMRefSpec.cs rename to src/core/Akka.TestKit.Tests/TestFSMRefTests/TestFSMRefSpec.cs index 1cda19f477e..54565dfdb30 100644 --- a/src/core/Akka.TestKit.Tests/TestFSMRefTests!/TestFSMRefSpec.cs +++ b/src/core/Akka.TestKit.Tests/TestFSMRefTests/TestFSMRefSpec.cs @@ -5,50 +5,51 @@ // //----------------------------------------------------------------------- -using System; +using System.Threading.Tasks; using Akka.Actor; -using Akka.TestKit; using Xunit; +using FluentAssertions; +using FluentAssertions.Extensions; -namespace Akka.Testkit.Tests.TestFSMRefTests +namespace Akka.TestKit.Tests.TestFSMRefTests { public class TestFSMRefSpec : AkkaSpec { [Fact] - public void A_TestFSMRef_must_allow_access_to_internal_state() + public async Task A_TestFSMRef_must_allow_access_to_internal_state() { var fsm = ActorOfAsTestFSMRef("test-fsm-ref-1"); - fsm.StateName.ShouldBe(1); - fsm.StateData.ShouldBe(""); + fsm.StateName.Should().Be(1); + fsm.StateData.Should().Be(""); fsm.Tell("go"); - fsm.StateName.ShouldBe(2); - fsm.StateData.ShouldBe("go"); + fsm.StateName.Should().Be(2); + fsm.StateData.Should().Be("go"); fsm.SetState(1); - fsm.StateName.ShouldBe(1); - fsm.StateData.ShouldBe("go"); + fsm.StateName.Should().Be(1); + fsm.StateData.Should().Be("go"); fsm.SetStateData("buh"); - fsm.StateName.ShouldBe(1); - fsm.StateData.ShouldBe("buh"); + fsm.StateName.Should().Be(1); + fsm.StateData.Should().Be("buh"); - fsm.SetStateTimeout(TimeSpan.FromMilliseconds(100)); - Within(TimeSpan.FromMilliseconds(80), TimeSpan.FromMilliseconds(500), () => - AwaitCondition(() => fsm.StateName == 2 && fsm.StateData == "timeout") - ); + fsm.SetStateTimeout(100.Milliseconds()); + await WithinAsync(80.Milliseconds(), 500.Milliseconds(), async () => + await AwaitConditionAsync(() => fsm.StateName == 2 && fsm.StateData == "timeout") + ); } [Fact] public void A_TestFSMRef_must_allow_access_to_timers() { var fsm = ActorOfAsTestFSMRef("test-fsm-ref-2"); - fsm.IsTimerActive("test").ShouldBe(false); - fsm.SetTimer("test", 12, TimeSpan.FromMilliseconds(10), true); - fsm.IsTimerActive("test").ShouldBe(true); + fsm.IsTimerActive("test").Should().Be(false); + fsm.SetTimer("test", 12, 10.Milliseconds(), true); + fsm.IsTimerActive("test").Should().Be(true); fsm.CancelTimer("test"); - fsm.IsTimerActive("test").ShouldBe(false); + fsm.IsTimerActive("test").Should().Be(false); } private class StateTestFsm : FSM @@ -56,20 +57,22 @@ private class StateTestFsm : FSM public StateTestFsm() { StartWith(1, ""); + When(1, e => { var fsmEvent = e.FsmEvent; if(Equals(fsmEvent, "go")) - return GoTo(2, "go"); + return GoTo(2).Using("go"); if(fsmEvent is StateTimeout) - return GoTo(2, "timeout"); + return GoTo(2).Using("timeout"); return null; }); + When(2, e => { var fsmEvent = e.FsmEvent; if(Equals(fsmEvent, "back")) - return GoTo(1, "back"); + return GoTo(1).Using("back"); return null; }); }