public ApplyStateContextMock()
        {
            StateContextValue = new StateContextMock();
            NewStateValue = new Mock<IState>().Object;
            OldStateValue = null;

            _context = new Lazy<ApplyStateContext>(
                () => new ApplyStateContext(
                    StateContextValue.Object,
                    NewStateValue,
                    OldStateValue));
        }
        public ApplyStateContextMock()
        {
            StateContextValue = new StateContextMock();
            NewStateValue     = new Mock <IState>().Object;
            OldStateValue     = null;

            _context = new Lazy <ApplyStateContext>(
                () => new ApplyStateContext(
                    StateContextValue.Object,
                    NewStateValue,
                    OldStateValue));
        }
        public ElectStateContextMock()
        {
            StateContextValue = new StateContextMock();
            CandidateStateValue = new Mock<IState>().Object;
            CurrentStateValue = "OldState";

            _context = new Lazy<ElectStateContext>(
                () => new ElectStateContext(
                    StateContextValue.Object, 
                    CandidateStateValue,
                    CurrentStateValue));
        }
        public ElectStateContextMock()
        {
            StateContextValue   = new StateContextMock();
            CandidateStateValue = new Mock <IState>().Object;
            CurrentStateValue   = "OldState";

            _context = new Lazy <ElectStateContext>(
                () => new ElectStateContext(
                    StateContextValue.Object,
                    CandidateStateValue,
                    CurrentStateValue));
        }