コード例 #1
0
    public void UpdateProcess_CallsIrperInterpolate(float expireT)
    {
        IInterpolatorProcesssConstArg arg = CreateMockArg();

        arg.constraintValue.Returns(expireT);
        TestInterpolatorProcess testProcess = new TestInterpolatorProcess(arg);

        testProcess.Run();
        IInterpolator irper = testProcess.GetInterpolator();

        irper.Received(1).Interpolate(0f);

        IProcessManager processManager = arg.processManager;
        const float     deltaT         = .1f;

        for (float f = deltaT; f < expireT; f += deltaT)
        {
            float elapsedT = f;
            testProcess.UpdateProcess(deltaT);
            irper.Received(1).Interpolate(elapsedT / expireT);
            processManager.DidNotReceive().RemoveRunningProcess(testProcess);
        }

        testProcess.UpdateProcess(deltaT);

        irper.Received(1).Interpolate(1f);
        processManager.Received(1).RemoveRunningProcess(testProcess);
    }
コード例 #2
0
    public void Run_CallsIrperInterpolateWithZero()
    {
        IInterpolatorProcesssConstArg arg         = CreateMockArg();
        TestInterpolatorProcess       testProcess = new TestInterpolatorProcess(arg);

        testProcess.Run();

        IInterpolator irper = testProcess.GetInterpolator();

        irper.Received(1).Interpolate(0f);
    }