public void ApplyDoesNothingWithoutFunctionPtr_ExpectedBehavior()
        {
            var ctx = new MyContext();
            var e   = new ActionEffect <MyContext>("Name", EffectType.PlanOnly, null);

            e.Apply(ctx);
        }
        public void ApplyCallsInternalFunctionPtr_ExpectedBehavior()
        {
            var ctx = new MyContext();
            var e   = new ActionEffect <MyContext>("Name", EffectType.PlanOnly, (c, et) => c.Done = true);

            e.Apply(ctx);

            Assert.AreEqual(true, ctx.Done);
        }
        public void ApplyThrowsIfBadContext_ExpectedBehavior()
        {
            var e = new ActionEffect <MyContext>("Name", EffectType.PlanOnly, null);

            e.Apply(null);
        }