public void AppliesEasingFunction() { const double defaultOrigin = 0; const double defaultDestination = 100; var defaultAnimation = new FromToByDoubleAnimation(); var easingAnimation = new FromToByDoubleAnimation(); var clock = new ControllableAnimationClock(); var easingFunction = new QuadraticEase(); easingAnimation.EasingFunction = easingFunction; for (double progress = 0d; progress <= 1d; progress += 0.01) { // Manually apply the easing function. double easedProgress = easingFunction.Ease(progress); clock.CurrentProgress = easedProgress; double expectedResult = defaultAnimation.GetCurrentValue(defaultOrigin, defaultDestination, clock); // Then test if the animation does it on its own. clock.CurrentProgress = progress; double easedResult = easingAnimation.GetCurrentValue(defaultOrigin, defaultDestination, clock); Assert.Equal(expectedResult, easedResult); } }
public void ShouldThrowWhenModeIsInvalid() { var easingFunction = new QuadraticEase(); Assert.That( () => { easingFunction.Mode = (EasingMode)99; easingFunction.Ease(0.0f); }, Throws.TypeOf<InvalidAnimationException>()); }
public void ShouldThrowWhenModeIsInvalid() { var easingFunction = new QuadraticEase(); Assert.That( () => { easingFunction.Mode = (EasingMode)99; easingFunction.Ease(0.0f); }, Throws.TypeOf <InvalidAnimationException>()); }