Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

nuget.org : statebliss

Finite state machine with fluent syntax. i.e. public class DefineAuthenticationState2 : StateDefinition<AuthenticationState> { public override void Define(IStateFromBuilder<AuthenticationState> builder) { builder.From(AuthenticationState.Unauthenticated).To(AuthenticationState.Authenticated) .Changing(this, a => a.ChangingHandler1); } private void ChangingHandler2(StateChangeGuardInfo<AuthenticationState> changeinfo) { var data = changeinfo.DataAs<Dictionary<string, object>>(); data["key2"] = "ChangingHandler2"; } } public class BasicTests //xUnit { public enum AuthenticationState { Unauthenticated, Authenticated } [Fact] public void Tests() { // Arrange StateMachineManager.Register(new [] { typeof(BasicTests).Assembly }); //Register at bootstrap of your application, i.e. Startup var currentState = AuthenticationState.Unauthenticated; var data = new Dictionary<string, object>(); // Act var changeInfo = StateMachineManager.Trigger(currentState, AuthenticationState.Authenticated, data); // Assert Assert.True(changeInfo.StateChangedSucceeded); Assert.Equal("ChangingHandler1", changeInfo.Data["key1"]); } }

Registry - Homepage - JSON
purl: pkg:nuget/statebliss
Keywords: FiniteStateMachine, State, Machine
License: MIT
Latest release: over 4 years ago
First release: almost 5 years ago
Downloads: 2,886 total
Stars: 1 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 27 days ago

    Loading...
    Readme
    Loading...