Fix preview handlers failing unit tests in CI (#1856)

* Enable Unit tests for PreviewPane Test Assemblies in CI

* Added Preview handlers unit tests project back

* throw for Svg to debug tests

* Removed failing test

* Removed throw statement

* Added MD unitests in yml

* Run ui tests on STA thread

* Throw svg to debug failing tests

* Updated test adaptor

* Removed failing test to validate CI

* throw svg failing test with full stack trace

* Check if mock stream is causing the issue

* narrow down the failing tests code - 1

* narrow down the failing tests code -2

* dispose all controls

* Restore SVg preview control

* Update test adaptor and dependency to latest
This commit is contained in:
udit3333
2020-04-03 08:12:12 -07:00
committed by GitHub
parent a760acc399
commit 38d537bb8a
9 changed files with 315 additions and 248 deletions

View File

@@ -21,157 +21,175 @@ namespace UnitTests_PreviewHandlerCommon
public void FormHandlerControl_ShouldCreateHandle_OnIntialization()
{
// Arrange and act
var testFormHandlerControl = new TestFormControl();
// Assert
Assert.IsTrue(testFormHandlerControl.IsHandleCreated);
using (var testFormHandlerControl = new TestFormControl())
{
// Assert
Assert.IsTrue(testFormHandlerControl.IsHandleCreated);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetVisibleFalse_OnIntialization()
{
// Arrange and act
var testFormHandlerControl = new TestFormControl();
// Assert
Assert.IsFalse(testFormHandlerControl.Visible);
using (var testFormHandlerControl = new TestFormControl())
{
// Assert
Assert.IsFalse(testFormHandlerControl.Visible);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetFormBorderStyle_OnIntialization()
{
// Arrange and act
var testFormHandlerControl = new TestFormControl();
// Assert
Assert.AreEqual(FormBorderStyle.None, testFormHandlerControl.FormBorderStyle);
using (var testFormHandlerControl = new TestFormControl())
{
// Assert
Assert.AreEqual(FormBorderStyle.None, testFormHandlerControl.FormBorderStyle);
}
}
[TestMethod]
public void FormHandlerControl_ShouldReturnValidHandle_WhenGetHandleCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
using (var testFormHandlerControl = new TestFormControl())
{
// Act
var handle = testFormHandlerControl.GetHandle();
// Act
var handle = testFormHandlerControl.GetHandle();
// Assert
Assert.AreEqual(testFormHandlerControl.Handle, handle);
// Assert
Assert.AreEqual(testFormHandlerControl.Handle, handle);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetBackgroundColor_WhenSetBackgroundColorCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
var color = Color.Navy;
using (var testFormHandlerControl = new TestFormControl())
{
var color = Color.Navy;
// Act
testFormHandlerControl.SetBackgroundColor(color);
// Act
testFormHandlerControl.SetBackgroundColor(color);
// Assert
Assert.AreEqual(color, testFormHandlerControl.BackColor);
// Assert
Assert.AreEqual(color, testFormHandlerControl.BackColor);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetFont_WhenSetFontCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
var font = new Font("Arial", 20);
using (var testFormHandlerControl = new TestFormControl())
{
var font = new Font("Arial", 20);
// Act
testFormHandlerControl.SetFont(font);
// Act
testFormHandlerControl.SetFont(font);
// Assert
Assert.AreEqual(font, testFormHandlerControl.Font);
// Assert
Assert.AreEqual(font, testFormHandlerControl.Font);
}
}
[TestMethod]
public void FormHandlerControl_ShouldUpdateBounds_WhenSetRectCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
var bounds = new Rectangle(2, 2, 4, 4);
using (var testFormHandlerControl = new TestFormControl())
{
var bounds = new Rectangle(2, 2, 4, 4);
// Act
testFormHandlerControl.SetRect(bounds);
// Act
testFormHandlerControl.SetRect(bounds);
// Assert
Assert.AreEqual(bounds, testFormHandlerControl.Bounds);
// Assert
Assert.AreEqual(bounds, testFormHandlerControl.Bounds);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetTextColor_WhenSetTextColorCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
var color = Color.Navy;
using (var testFormHandlerControl = new TestFormControl())
{
var color = Color.Navy;
// Act
testFormHandlerControl.SetTextColor(color);
// Act
testFormHandlerControl.SetTextColor(color);
// Assert
Assert.AreEqual(color, testFormHandlerControl.ForeColor);
// Assert
Assert.AreEqual(color, testFormHandlerControl.ForeColor);
}
}
[TestMethod]
public void FormHandlerControl_ShouldClearAllControls_WhenUnloadCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
testFormHandlerControl.Controls.Add(new TextBox());
testFormHandlerControl.Controls.Add(new RichTextBox());
using (var testFormHandlerControl = new TestFormControl())
{
testFormHandlerControl.Controls.Add(new TextBox());
testFormHandlerControl.Controls.Add(new RichTextBox());
// Act
testFormHandlerControl.Unload();
// Act
testFormHandlerControl.Unload();
// Assert
Assert.AreEqual(0, testFormHandlerControl.Controls.Count);
// Assert
Assert.AreEqual(0, testFormHandlerControl.Controls.Count);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetVisibleFalse_WhenUnloadCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
using (var testFormHandlerControl = new TestFormControl())
{
// Act
testFormHandlerControl.Unload();
// Act
testFormHandlerControl.Unload();
// Assert
Assert.IsFalse(testFormHandlerControl.Visible);
// Assert
Assert.IsFalse(testFormHandlerControl.Visible);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetVisibletrue_WhenDoPreviewCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
using (var testFormHandlerControl = new TestFormControl())
{
// Act
testFormHandlerControl.DoPreview("valid-path");
// Act
testFormHandlerControl.DoPreview("valid-path");
// Assert
Assert.IsTrue(testFormHandlerControl.Visible);
// Assert
Assert.IsTrue(testFormHandlerControl.Visible);
}
}
[TestMethod]
public void FormHandlerControl_ShouldSetParentHandle_WhenSetWindowCalled()
{
// Arrange
var testFormHandlerControl = new TestFormControl();
var parentFormWindow = new UserControl();
var parentHwnd = parentFormWindow.Handle;
var rect = new Rectangle(2, 2, 4, 4);
using (var testFormHandlerControl = new TestFormControl())
{
var parentFormWindow = new UserControl();
var parentHwnd = parentFormWindow.Handle;
var rect = new Rectangle(2, 2, 4, 4);
// Act
testFormHandlerControl.SetWindow(parentHwnd, rect);
var actualParentHwnd = GetAncestor(testFormHandlerControl.Handle, 1); // GA_PARENT 1
// Act
testFormHandlerControl.SetWindow(parentHwnd, rect);
var actualParentHwnd = GetAncestor(testFormHandlerControl.Handle, 1); // GA_PARENT 1
// Assert
Assert.AreEqual(parentHwnd, actualParentHwnd);
// Assert
Assert.AreEqual(parentHwnd, actualParentHwnd);
}
}
// Gets the ancestor window: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getancestor