Browse Source

Fixed tests

pull/899/head
Nikita Tsukanov 10 years ago
parent
commit
d17b32d7bd
  1. 1
      tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj
  2. 73
      tests/Avalonia.Controls.UnitTests/TopLevelTests.cs
  3. 126
      tests/Avalonia.Controls.UnitTests/WindowBaseTests.cs
  4. 5
      tests/Avalonia.Layout.UnitTests/FullLayoutTests.cs

1
tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj

@ -101,6 +101,7 @@
<Compile Include="Presenters\ItemsPresenterTests_Virtualization_Simple.cs" />
<Compile Include="Presenters\ItemsPresenterTests_Virtualization.cs" />
<Compile Include="TextBoxTests_DataValidation.cs" />
<Compile Include="WindowBaseTests.cs" />
<Compile Include="UserControlTests.cs" />
<Compile Include="DockPanelTests.cs" />
<Compile Include="EnumerableExtensions.cs" />

73
tests/Avalonia.Controls.UnitTests/TopLevelTests.cs

@ -106,28 +106,7 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Impl_ClientSize_Should_Be_Set_After_Layout_Pass()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = Mock.Of<ITopLevelImpl>(x => x.Scaling == 1);
var target = new TestTopLevel(impl)
{
Template = CreateTemplate(),
Content = new TextBlock
{
Width = 321,
Height = 432,
}
};
LayoutManager.Instance.ExecuteInitialLayoutPass(target);
Mock.Get(impl).VerifySet(x => x.ClientSize = new Size(321, 432));
}
}
[Fact]
public void Width_And_Height_Should_Not_Be_Set_After_Layout_Pass()
@ -163,38 +142,6 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Activate_Should_Call_Impl_Activate()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = new Mock<ITopLevelImpl>();
var target = new TestTopLevel(impl.Object);
target.Activate();
impl.Verify(x => x.Activate());
}
}
[Fact]
public void Impl_Activate_Should_Call_Raise_Activated_Event()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = new Mock<ITopLevelImpl>();
impl.SetupAllProperties();
bool raised = false;
var target = new TestTopLevel(impl.Object);
target.Activated += (s, e) => raised = true;
impl.Object.Activated();
Assert.True(raised);
}
}
[Fact]
public void Impl_Close_Should_Call_Raise_Closed_Event()
{
@ -213,24 +160,6 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Impl_Deactivate_Should_Call_Raise_Activated_Event()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = new Mock<ITopLevelImpl>();
impl.SetupAllProperties();
bool raised = false;
var target = new TestTopLevel(impl.Object);
target.Deactivated += (s, e) => raised = true;
impl.Object.Deactivated();
Assert.True(raised);
}
}
[Fact]
public void Impl_Input_Should_Pass_Input_To_InputManager()
{

126
tests/Avalonia.Controls.UnitTests/WindowBaseTests.cs

@ -0,0 +1,126 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Reactive;
using System.Reactive.Subjects;
using Moq;
using Avalonia.Controls.Presenters;
using Avalonia.Controls.Templates;
using Avalonia.Input;
using Avalonia.Input.Raw;
using Avalonia.Layout;
using Avalonia.Platform;
using Avalonia.Rendering;
using Avalonia.Styling;
using Avalonia.UnitTests;
using Ploeh.AutoFixture;
using Ploeh.AutoFixture.AutoMoq;
using Xunit;
namespace Avalonia.Controls.UnitTests
{
public class WindowBaseTests
{
[Fact]
public void Impl_ClientSize_Should_Be_Set_After_Layout_Pass()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = Mock.Of<IWindowBaseImpl>(x => x.Scaling == 1);
var target = new TestWindowBase(impl)
{
Template = CreateTemplate(),
Content = new TextBlock
{
Width = 321,
Height = 432,
}
};
LayoutManager.Instance.ExecuteInitialLayoutPass(target);
Mock.Get(impl).Verify(x => x.Resize(new Size(321, 432)));
}
}
[Fact]
public void Activate_Should_Call_Impl_Activate()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = new Mock<IWindowBaseImpl>();
var target = new TestWindowBase(impl.Object);
target.Activate();
impl.Verify(x => x.Activate());
}
}
[Fact]
public void Impl_Activate_Should_Call_Raise_Activated_Event()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = new Mock<IWindowBaseImpl>();
impl.SetupAllProperties();
bool raised = false;
var target = new TestWindowBase(impl.Object);
target.Activated += (s, e) => raised = true;
impl.Object.Activated();
Assert.True(raised);
}
}
[Fact]
public void Impl_Deactivate_Should_Call_Raise_Deativated_Event()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var impl = new Mock<IWindowBaseImpl>();
impl.SetupAllProperties();
bool raised = false;
var target = new TestWindowBase(impl.Object);
target.Deactivated += (s, e) => raised = true;
impl.Object.Deactivated();
Assert.True(raised);
}
}
private FuncControlTemplate<TestWindowBase> CreateTemplate()
{
return new FuncControlTemplate<TestWindowBase>(x =>
new ContentPresenter
{
Name = "PART_ContentPresenter",
[!ContentPresenter.ContentProperty] = x[!ContentControl.ContentProperty],
});
}
private class TestWindowBase : WindowBase
{
public bool IsClosed { get; private set; }
public TestWindowBase(IWindowBaseImpl impl)
: base(impl)
{
}
protected override void HandleApplicationExiting()
{
base.HandleApplicationExiting();
IsClosed = true;
}
}
}
}

5
tests/Avalonia.Layout.UnitTests/FullLayoutTests.cs

@ -139,7 +139,10 @@ namespace Avalonia.Layout.UnitTests
var renderInterface = fixture.Create<IPlatformRenderInterface>();
var windowImpl = new Mock<IWindowImpl>();
windowImpl.SetupProperty(x => x.ClientSize);
Size clientSize = default(Size);
windowImpl.SetupGet(x => x.ClientSize).Returns(() => clientSize);
windowImpl.Setup(x => x.Resize(It.IsAny<Size>())).Callback<Size>(s => clientSize = s);
windowImpl.Setup(x => x.MaxClientSize).Returns(new Size(1024, 1024));
windowImpl.SetupGet(x => x.Scaling).Returns(1);

Loading…
Cancel
Save