public void CurState_Initially_IsDeactivationCompletedState()
    {
        ITestUIEActivationStateEngineConstArg arg    = CreateMockConstArg();
        TestUIEActivationStateEngine          engine = new TestUIEActivationStateEngine(arg);

        Assert.That(engine.IsInDeactivationCompletedState_Test(), Is.True);
    }
    public void StartNewActivationProcess_ActivationModeIsAlpha_SwtchesProcessProperly()
    {
        ITestUIEActivationStateEngineConstArg arg = CreateMockConstArg();

        arg.activationMode.Returns(ActivationMode.Alpha);
        TestUIEActivationStateEngine engine = new TestUIEActivationStateEngine(arg);

        IUISystemProcessFactory             procFactory = arg.processFactory;
        IAlphaActivatorUIEActivationProcess process     = Substitute.For <IAlphaActivatorUIEActivationProcess>();

        procFactory.CreateAlphaActivatorUIEActivationProcess(arg.uiElement, engine, true).Returns(process);
        IUIEActivationProcess prevProcess = Substitute.For <IUIEActivationProcess>();

        prevProcess.IsRunning().Returns(true);
        engine.SetRunningProcess(prevProcess);

        engine.StartNewActivateProcess();

        prevProcess.Received(1).Stop();
        process.Received(1).Run();
        Assert.That(engine.GetCurRunningProcess_Test(), Is.SameAs(process));
    }