Пример #1
0
        public void Simple()
        {
            var mgr = new YolManager();

            mgr.DefineTransition(string.Empty, "aaa", () => true);
            mgr.ExecuteInternal();
            Assert.AreEqual("aaa", mgr.State);
        }
Пример #2
0
        public void CanDefine()
        {
            var mgr = new YolManager();

            mgr.DefineTransition(string.Empty, "aaa", () => true);
            mgr.DefineTransition("aaa", "bbb", () => true);
            mgr.DefineTransition("bbb", "ccc", () => true);
        }
Пример #3
0
        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)
            ;
        }
Пример #4
0
        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);
        }
Пример #5
0
        public void CannotTransitionToSameState()
        {
            var mgr = new YolManager();

            Assert.Throws <ArgumentException>(() =>
            {
                mgr.DefineTransition("aaa", "aaa", () => true);
            });
        }
Пример #6
0
        public void OnlyOneTransitionPerState()
        {
            var mgr = new YolManager();

            mgr.DefineTransition("aaa", "bbb", () => true);
            Assert.Throws <InvalidOperationException>(() =>
            {
                mgr.DefineTransition("aaa", "ccc", () => true);
            });
        }