Basco is a very simple and easy testable state machine.
It was specially designed for usage in TDD environments.
-
Install **Basco** Nuget package -
*Optional:* Install **Basco.NinjectExtensions** Nuget package -
Create your state machine classes-
Define your transitions (*enum*) -
Create all states. Derive from ***IState***. If needed implement also ***IStateEnter*** and ***IStateExit*** -
Implement the transition configurator (derived from ***IBascoConfigurator***)
-
- Optional: Create your Ninject binding module (using Basco.NinjectExtensions)
- Inject IBasco where you use the state machine and start it (Start<StartState>())
- Have fun :-)
First, install NuGet.
Then, install Basco from the package manager console:
PM> Install-Package Basco