public void Simple() { var mgr = new YolManager(); mgr.DefineTransition(string.Empty, "aaa", () => true); mgr.ExecuteInternal(); Assert.AreEqual("aaa", mgr.State); }
public void CanDefine() { var mgr = new YolManager(); mgr.DefineTransition(string.Empty, "aaa", () => true); mgr.DefineTransition("aaa", "bbb", () => true); mgr.DefineTransition("bbb", "ccc", () => true); }
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext) { base.ApplicationStarted(umbracoApplication, applicationContext); // use the default manager, and get login from config YolManager.CreateDefault() .DefineTransition(string.Empty, "ae59d4", DoSomething) ; }
public void CannotContainTwoMoreHeads() { var mgr = new YolManager(); mgr.DefineTransition(string.Empty, "aaa", () => true); mgr.DefineTransition("aaa", "bbb", () => true); mgr.DefineTransition("ccc", "ddd", () => true); Assert.Throws <Exception>(mgr.ValidateTransitions); }
public void CannotTransitionToSameState() { var mgr = new YolManager(); Assert.Throws <ArgumentException>(() => { mgr.DefineTransition("aaa", "aaa", () => true); }); }
public void OnlyOneTransitionPerState() { var mgr = new YolManager(); mgr.DefineTransition("aaa", "bbb", () => true); Assert.Throws <InvalidOperationException>(() => { mgr.DefineTransition("aaa", "ccc", () => true); }); }