A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

36 lines
1.0 KiB

using Avalonia.Controls.PullToRefresh;
using Avalonia.Input;
using Avalonia.UnitTests;
using Xunit;
namespace Avalonia.Controls.UnitTests.PullToRefresh
{
public class RefreshVisualizerTests : ScopedTestBase
{
[Fact]
public void InteractionRatio_Is_One_While_Refreshing_And_Zero_After_Completion()
{
var provider = new RefreshInfoProvider(
PullDirection.TopToBottom,
new Size(100, 100),
visual: null);
var visualizer = new RefreshVisualizer();
visualizer.RefreshInfoProvider = provider;
var sawDuringRefresh = false;
visualizer.RefreshRequested += (s, e) =>
{
Assert.Equal(1d, provider.InteractionRatio);
sawDuringRefresh = true;
};
visualizer.RequestRefresh();
Assert.True(sawDuringRefresh, "RefreshRequested event should have been raised");
Assert.Equal(0d, provider.InteractionRatio);
}
}
}