2 changed files with 74 additions and 1 deletions
@ -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…
Reference in new issue