From 210575e0ce06399dbecb314e40e96c9320b3bd0d Mon Sep 17 00:00:00 2001 From: sdoroff Date: Tue, 12 Jun 2018 23:41:45 -0400 Subject: [PATCH] Added Unit Tests --- .../Primitives/ScrollBarTests.cs | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/ScrollBarTests.cs b/tests/Avalonia.Controls.UnitTests/Primitives/ScrollBarTests.cs index 0af4d791c7..672b5c608b 100644 --- a/tests/Avalonia.Controls.UnitTests/Primitives/ScrollBarTests.cs +++ b/tests/Avalonia.Controls.UnitTests/Primitives/ScrollBarTests.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using Avalonia.Controls.Primitives; using Avalonia.Controls.Templates; +using Avalonia.Input; using Avalonia.Media; using Xunit; @@ -59,6 +60,64 @@ namespace Avalonia.Controls.UnitTests.Primitives Assert.Equal(50, target.Value); } + [Fact] + public void Thumb_DragDelta_Event_Should_Raise_Scroll_Event() + { + var target = new ScrollBar + { + Template = new FuncControlTemplate(Template), + }; + + target.ApplyTemplate(); + + var track = (Track)target.GetTemplateChildren().First(x => x.Name == "track"); + + var raisedEvent = Assert.Raises( + handler => target.Scroll += handler, + handler => target.Scroll -= handler, + () => + { + var ev = new VectorEventArgs + { + RoutedEvent = Thumb.DragDeltaEvent, + Vector = new Vector(0, 0) + }; + + track.Thumb.RaiseEvent(ev); + }); + + Assert.Equal(ScrollEventType.ThumbTrack, raisedEvent.Arguments.ScrollEventType); + } + + [Fact] + public void Thumb_DragComplete_Event_Should_Raise_Scroll_Event() + { + var target = new ScrollBar + { + Template = new FuncControlTemplate(Template), + }; + + target.ApplyTemplate(); + + var track = (Track)target.GetTemplateChildren().First(x => x.Name == "track"); + + var raisedEvent = Assert.Raises( + handler => target.Scroll += handler, + handler => target.Scroll -= handler, + () => + { + var ev = new VectorEventArgs + { + RoutedEvent = Thumb.DragCompletedEvent, + Vector = new Vector(0, 0) + }; + + track.Thumb.RaiseEvent(ev); + }); + + Assert.Equal(ScrollEventType.EndScroll, raisedEvent.Arguments.ScrollEventType); + } + [Fact] public void ScrollBar_Can_AutoHide() {