Browse Source

Add transitions unit test.

pull/2517/head
Jumar Macato 7 years ago
parent
commit
26b8fd6a05
No known key found for this signature in database GPG Key ID: B19884DAC3A5BF3F
  1. 2
      src/Avalonia.Animation/TransitionInstance.cs
  2. 73
      tests/Avalonia.Animation.UnitTests/AnimationTransitionsTest.cs

2
src/Avalonia.Animation/TransitionInstance.cs

@ -31,7 +31,7 @@ namespace Avalonia.Animation
var interpVal = (double)t.Ticks / _duration.Ticks;
// Clamp interpolation value.
if (interpVal >= 1d | (interpVal < 0d))
if (interpVal >= 1d | interpVal < 0d)
{
PublishNext(1d);
PublishCompleted();

73
tests/Avalonia.Animation.UnitTests/AnimationTransitionsTest.cs

@ -0,0 +1,73 @@
using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Avalonia.Animation;
using Avalonia.Controls;
using Avalonia.Styling;
using Avalonia.UnitTests;
using Avalonia.Data;
using Xunit;
using Avalonia.Animation.Easings;
namespace Avalonia.Animation.UnitTests
{
public class AnimationTransitionsTests
{
[Fact]
public void Check_Transitions_Interpolation_Negative_Bounds_Clamp()
{
var clock = new MockGlobalClock();
using (UnitTestApplication.Start(new TestServices(globalClock: clock)))
{
var border = new Border
{
Transitions =
{
new DoubleTransition
{
Duration = TimeSpan.FromSeconds(1),
Property = Border.OpacityProperty,
}
}
};
border.Opacity = 0;
clock.Pulse(TimeSpan.FromSeconds(0));
clock.Pulse(TimeSpan.FromSeconds(-0.5));
Assert.Equal(0, border.Opacity);
}
}
[Fact]
public void Check_Transitions_Interpolation_Positive_Bounds_Clamp()
{
var clock = new MockGlobalClock();
using (UnitTestApplication.Start(new TestServices(globalClock: clock)))
{
var border = new Border
{
Transitions =
{
new DoubleTransition
{
Duration = TimeSpan.FromSeconds(1),
Property = Border.OpacityProperty,
}
}
};
border.Opacity = 0;
clock.Pulse(TimeSpan.FromSeconds(0));
clock.Pulse(TimeSpan.FromMilliseconds(1001));
Assert.Equal(0, border.Opacity);
}
}
}
}
Loading…
Cancel
Save