From fb8e80c09c793d85130dad5c3c7644405c7e2e39 Mon Sep 17 00:00:00 2001 From: Clint Rutkas Date: Tue, 29 Sep 2020 10:43:18 -0700 Subject: [PATCH] FxCop for Preview handler (#6833) --- .../FileBasedPreviewHandlerTests.cs | 6 +- .../FormHandlerControlTests.cs | 63 ++-- .../NativeMethods.cs | 16 + .../PreviewHandlerBaseTests.cs | 49 ++-- .../StreamBasedPreviewHandlerTests.cs | 6 +- .../StreamWrapperTests.cs | 277 ++++++++++-------- .../UnitTests-PreviewHandlerCommon.csproj | 9 +- .../WebBrowserExtUnitTests.cs | 6 +- 8 files changed, 233 insertions(+), 199 deletions(-) create mode 100644 src/modules/previewpane/UnitTests-PreviewHandlerCommon/NativeMethods.cs diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FileBasedPreviewHandlerTests.cs b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FileBasedPreviewHandlerTests.cs index 5a5147840f..279ef8cb34 100644 --- a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FileBasedPreviewHandlerTests.cs +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FileBasedPreviewHandlerTests.cs @@ -7,12 +7,12 @@ using Common; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -namespace UnitTests_PreviewHandlerCommon +namespace PreviewHandlerCommonUnitTests { [TestClass] public class FileBasedPreviewHandlerTests { - public class TestFileBasedPreviewHandler : FileBasedPreviewHandler + internal class TestFileBasedPreviewHandler : FileBasedPreviewHandler { public override void DoPreview() { @@ -28,7 +28,7 @@ namespace UnitTests_PreviewHandlerCommon [DataTestMethod] [DataRow(0U)] [DataRow(1U)] - public void FileBasedPreviewHandler_ShouldSetFilePath_WhenInitializeCalled(uint grfMode) + public void FileBasedPreviewHandlerShouldSetFilePathWhenInitializeCalled(uint grfMode) { // Arrange var fileBasedPreviewHandler = new TestFileBasedPreviewHandler(); diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FormHandlerControlTests.cs b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FormHandlerControlTests.cs index 5fbde64d1f..ebf996b0f8 100644 --- a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FormHandlerControlTests.cs +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/FormHandlerControlTests.cs @@ -4,12 +4,12 @@ using System; using System.Drawing; -using System.Runtime.InteropServices; + using System.Windows.Forms; using Common; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace UnitTests_PreviewHandlerCommon +namespace PreviewHandlerCommonUnitTests { [TestClass] public class FormHandlerControlTests @@ -19,7 +19,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldCreateHandle_OnInitialization() + public void FormHandlerControlShouldCreateHandleOnInitialization() { // Arrange and act using (var testFormHandlerControl = new TestFormControl()) @@ -30,7 +30,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetVisibleFalse_OnInitialization() + public void FormHandlerControlShouldSetVisibleFalseOnInitialization() { // Arrange and act using (var testFormHandlerControl = new TestFormControl()) @@ -41,7 +41,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetFormBorderStyle_OnInitialization() + public void FormHandlerControlShouldSetFormBorderStyleOnInitialization() { // Arrange and act using (var testFormHandlerControl = new TestFormControl()) @@ -52,7 +52,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldReturnValidHandle_WhenGetHandleCalled() + public void FormHandlerControlShouldReturnValidHandleWhenGetHandleCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) @@ -66,7 +66,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetBackgroundColor_WhenSetBackgroundColorCalled() + public void FormHandlerControlShouldSetBackgroundColorWhenSetBackgroundColorCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) @@ -82,23 +82,24 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetFont_WhenSetFontCalled() + public void FormHandlerControlShouldSetFontWhenSetFontCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) { - var font = new Font("Arial", 20); + using (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() + public void FormHandlerControlShouldUpdateBoundsWhenSetRectCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) @@ -114,7 +115,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetTextColor_WhenSetTextColorCalled() + public void FormHandlerControlShouldSetTextColorWhenSetTextColorCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) @@ -130,7 +131,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldClearAllControls_WhenUnloadCalled() + public void FormHandlerControlShouldClearAllControlsWhenUnloadCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) @@ -147,7 +148,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetVisibleFalse_WhenUnloadCalled() + public void FormHandlerControlShouldSetVisibleFalseWhenUnloadCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) @@ -161,7 +162,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetVisibletrue_WhenDoPreviewCalled() + public void FormHandlerControlShouldSetVisibletrueWhenDoPreviewCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) @@ -175,26 +176,24 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void FormHandlerControl_ShouldSetParentHandle_WhenSetWindowCalled() + public void FormHandlerControlShouldSetParentHandleWhenSetWindowCalled() { // Arrange using (var testFormHandlerControl = new TestFormControl()) { - var parentFormWindow = new UserControl(); - var parentHwnd = parentFormWindow.Handle; - var rect = new Rectangle(2, 2, 4, 4); + using (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 = NativeMethods.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 - [DllImport("user32.dll")] - private static extern IntPtr GetAncestor(IntPtr hWnd, uint gaFlags); } } diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/NativeMethods.cs b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/NativeMethods.cs new file mode 100644 index 0000000000..d84fddb457 --- /dev/null +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/NativeMethods.cs @@ -0,0 +1,16 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.InteropServices; + +namespace PreviewHandlerCommonUnitTests +{ + public static class NativeMethods + { + // Gets the ancestor window: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getancestor + [DllImport("user32.dll")] + internal static extern IntPtr GetAncestor(IntPtr hWnd, uint gaFlags); + } +} diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/PreviewHandlerBaseTests.cs b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/PreviewHandlerBaseTests.cs index b7105b13c5..63dc505c5a 100644 --- a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/PreviewHandlerBaseTests.cs +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/PreviewHandlerBaseTests.cs @@ -10,14 +10,14 @@ using Common.ComInterlop; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -namespace UnitTests_PreviewHandlerCommon +namespace PreviewHandlerCommonUnitTests { [TestClass] public class PreviewHandlerBaseTests { private static IPreviewHandlerControl previewHandlerControl; - public class TestPreviewHandler : PreviewHandlerBase + internal class TestPreviewHandler : PreviewHandlerBase { public TestPreviewHandler() { @@ -36,7 +36,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldCallPreviewControlSetWindow_WhenSetWindowCalled() + public void PreviewHandlerBaseShouldCallPreviewControlSetWindowWhenSetWindowCalled() { // Arrange var mockPreviewControl = new Mock(); @@ -66,7 +66,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldCallPreviewControlSetrect_WhenSetRectCalled() + public void PreviewHandlerBaseShouldCallPreviewControlSetrectWhenSetRectCalled() { // Arrange var mockPreviewControl = new Mock(); @@ -92,7 +92,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldCallPreviewControlUnload_WhenUnloadCalled() + public void PreviewHandlerBaseShouldCallPreviewControlUnloadWhenUnloadCalled() { // Arrange var mockPreviewControl = new Mock(); @@ -108,7 +108,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldCallPreviewControlSetBackgroundColor_WhenSetBackgroundColorCalled() + public void PreviewHandlerBaseShouldCallPreviewControlSetBackgroundColorWhenSetBackgroundColorCalled() { // Arrange var mockPreviewControl = new Mock(); @@ -125,7 +125,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldCallPreviewControlSetTextColor_WhenSetTextColorCalled() + public void PreviewHandlerBaseShouldCallPreviewControlSetTextColorWhenSetTextColorCalled() { // Arrange var mockPreviewControl = new Mock(); @@ -142,7 +142,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldCallPreviewControlSetFont_WhenSetFontCalled() + public void PreviewHandlerBaseShouldCallPreviewControlSetFontWhenSetFontCalled() { // Arrange Font actualFont = null; @@ -166,7 +166,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldCallPreviewControlSetFocus_WhenSetFocusCalled() + public void PreviewHandlerBaseShouldCallPreviewControlSetFocusWhenSetFocusCalled() { // Arrange var mockPreviewControl = new Mock(); @@ -182,7 +182,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldSetHandleOnQueryFocus_WhenPreviewControlsReturnValidHandle() + public void PreviewHandlerBaseShouldSetHandleOnQueryFocusWhenPreviewControlsReturnValidHandle() { // Arrange var hwnd = new IntPtr(5); @@ -202,7 +202,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldThrowOnQueryFocus_WhenPreviewControlsReturnNotValidHandle() + public void PreviewHandlerBaseShouldThrowOnQueryFocusWhenPreviewControlsReturnNotValidHandle() { // Arrange var hwnd = IntPtr.Zero; @@ -230,7 +230,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldDirectKeyStrokesToIPreviewHandlerFrame_IfIPreviewHandlerFrameIsSet() + public void PreviewHandlerBaseShouldDirectKeyStrokesToIPreviewHandlerFrameIfIPreviewHandlerFrameIsSet() { // Arrange var mockPreviewControl = new Mock(); @@ -251,7 +251,7 @@ namespace UnitTests_PreviewHandlerCommon [DataTestMethod] [DataRow(0U)] [DataRow(1U)] - public void PreviewHandlerBase_ShouldReturnIPreviewHandlerFrameResponse_IfIPreviewHandlerFrameIsSet(uint resultCode) + public void PreviewHandlerBaseShouldReturnIPreviewHandlerFrameResponseIfIPreviewHandlerFrameIsSet(uint resultCode) { // Arrange var mockPreviewControl = new Mock(); @@ -273,7 +273,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldReturnS_FALSE_IfIPreviewHandlerFrameIsNotSet() + public void PreviewHandlerBaseShouldReturnUintFalseIfIPreviewHandlerFrameIsNotSet() { // Arrange var mockPreviewControl = new Mock(); @@ -291,7 +291,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldReturnPreviewControlHandle_IfGetWindowCalled() + public void PreviewHandlerBaseShouldReturnPreviewControlHandleIfGetWindowCalled() { // Arrange var previewControlHandle = new IntPtr(5); @@ -313,7 +313,7 @@ namespace UnitTests_PreviewHandlerCommon [DataTestMethod] [DataRow(true)] [DataRow(false)] - public void PreviewHandlerBase_ShouldThrowNotImplementedException_IfContextSensitiveHelpCalled(bool fEnterMode) + public void PreviewHandlerBaseShouldThrowNotImplementedExceptionIfContextSensitiveHelpCalled(bool fEnterMode) { // Arrange var mockPreviewControl = new Mock(); @@ -337,7 +337,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void PreviewHandlerBase_ShouldReturnSite_WhenGetSiteCalled() + public void PreviewHandlerBaseShouldReturnSiteWhenGetSiteCalled() { // Arrange var mockPreviewControl = new Mock(); @@ -346,19 +346,18 @@ namespace UnitTests_PreviewHandlerCommon var testPreviewHandler = new TestPreviewHandler(); var site = new Mock().Object; testPreviewHandler.SetSite(site); - object actualSite = null; var riid = Guid.Empty; // Act - testPreviewHandler.GetSite(ref riid, out actualSite); + testPreviewHandler.GetSite(ref riid, out object actualSite); // Assert Assert.AreEqual(actualSite, site); } - private LOGFONT GetLogFont() + private static LOGFONT GetLogFont() { - var logFont = new LOGFONT + return new LOGFONT { LfHeight = 12, LfWidth = 0, @@ -374,21 +373,17 @@ namespace UnitTests_PreviewHandlerCommon LfPitchAndFamily = Convert.ToByte(0), LfFaceName = "valid-font", }; - - return logFont; } - private RECT GetRectangle(int left, int top, int right, int bottom) + private static RECT GetRectangle(int left, int top, int right, int bottom) { - var rect = new RECT + return new RECT { Left = left, Top = top, Right = right, Bottom = bottom, }; - - return rect; } private static IPreviewHandlerControl GetMockPreviewHandlerControl() diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamBasedPreviewHandlerTests.cs b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamBasedPreviewHandlerTests.cs index 48e9c91f9e..2ad396a941 100644 --- a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamBasedPreviewHandlerTests.cs +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamBasedPreviewHandlerTests.cs @@ -8,12 +8,12 @@ using Common; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -namespace UnitTests_PreviewHandlerCommon +namespace PreviewHandlerCommonUnitTests { [TestClass] public class StreamBasedPreviewHandlerTests { - public class TestStreamBasedPreviewHandler : StreamBasedPreviewHandler + internal class TestStreamBasedPreviewHandler : StreamBasedPreviewHandler { public override void DoPreview() { @@ -29,7 +29,7 @@ namespace UnitTests_PreviewHandlerCommon [DataTestMethod] [DataRow(0U)] [DataRow(1U)] - public void StreamBasedPreviewHandler_ShouldSetStream_WhenInitializeCalled(uint grfMode) + public void StreamBasedPreviewHandlerShouldSetStreamWhenInitializeCalled(uint grfMode) { // Arrange var streamBasedPreviewHandler = new TestStreamBasedPreviewHandler(); diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamWrapperTests.cs b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamWrapperTests.cs index 5b9395a7e0..ad23a26153 100644 --- a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamWrapperTests.cs +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/StreamWrapperTests.cs @@ -11,13 +11,13 @@ using Common.Utilities; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -namespace UnitTests_PreviewHandlerCommon +namespace PreviewHandlerCommonUnitTests { [TestClass] public class StreamWrapperTests { [TestMethod] - public void StreamWrapper_ShouldThrow_IfInitializeWithNullStream() + public void StreamWrapperShouldThrowIfInitializeWithNullStream() { // Arrange IStream stream = null; @@ -26,7 +26,10 @@ namespace UnitTests_PreviewHandlerCommon // Act try { - var streamWrapper = new ReadonlyStream(stream); + using (var streamWrapper = new ReadonlyStream(stream)) + { + // do work + } } catch (ArgumentNullException ex) { @@ -38,107 +41,113 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void StreamWrapper_ShouldReturnCanReadTrue() + public void StreamWrapperShouldReturnCanReadTrue() { // Arrange var streamMock = new Mock(); // Act - var streamWrapper = new ReadonlyStream(streamMock.Object); - - // Assert - Assert.AreEqual(streamWrapper.CanRead, true); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Assert + Assert.AreEqual(streamWrapper.CanRead, true); + } } [TestMethod] - public void StreamWrapper_ShouldReturnCanSeekTrue() + public void StreamWrapperShouldReturnCanSeekTrue() { // Arrange var streamMock = new Mock(); // Act - var streamWrapper = new ReadonlyStream(streamMock.Object); - - // Assert - Assert.AreEqual(streamWrapper.CanSeek, true); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Assert + Assert.AreEqual(streamWrapper.CanSeek, true); + } } [TestMethod] - public void StreamWrapper_ShouldReturnCanWriteFalse() + public void StreamWrapperShouldReturnCanWriteFalse() { // Arrange var streamMock = new Mock(); // Act - var streamWrapper = new ReadonlyStream(streamMock.Object); - - // Assert - Assert.AreEqual(streamWrapper.CanWrite, false); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Assert + Assert.AreEqual(streamWrapper.CanWrite, false); + } } [TestMethod] - public void StreamWrapper_ShouldReturnValidLength() + public void StreamWrapperShouldReturnValidLength() { // Arrange long streamLength = 5; - var stremMock = new Mock(); + var streamMock = new Mock(); var stat = new System.Runtime.InteropServices.ComTypes.STATSTG { cbSize = streamLength, }; - stremMock - .Setup(x => x.Stat(out stat, It.IsAny())); - var streamWrapper = new ReadonlyStream(stremMock.Object); + streamMock.Setup(x => x.Stat(out stat, It.IsAny())); - // Act - var actualLength = streamWrapper.Length; + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Act + var actualLength = streamWrapper.Length; - // Assert - Assert.AreEqual(actualLength, streamLength); + // Assert + Assert.AreEqual(actualLength, streamLength); + } } [TestMethod] - public void StreamWrapper_ShouldReturnValidPosition() + public void StreamWrapperShouldReturnValidPosition() { // Arrange int expectedDwOrigin = 1; // STREAM_SEEK_CUR long expectedOffset = 0; long currPosition = 5; - var stremMock = new Mock(); + var streamMock = new Mock(); - stremMock + streamMock .Setup(x => x.Seek(It.IsAny(), It.IsAny(), It.IsAny())) .Callback((dlibMove, dwOrigin, plibNewPosition) => { Marshal.WriteInt64(plibNewPosition, currPosition); }); - var streamWrapper = new ReadonlyStream(stremMock.Object); - // Act - var actualPosition = streamWrapper.Position; + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Act + var actualPosition = streamWrapper.Position; - // Assert - Assert.AreEqual(actualPosition, currPosition); - stremMock.Verify(_ => _.Seek(It.Is(offset => offset == expectedOffset), It.Is(dworigin => dworigin == expectedDwOrigin), It.IsAny()), Times.Once); + // Assert + Assert.AreEqual(actualPosition, currPosition); + streamMock.Verify(_ => _.Seek(It.Is(offset => offset == expectedOffset), It.Is(dworigin => dworigin == expectedDwOrigin), It.IsAny()), Times.Once); + } } [TestMethod] - public void StreamWrapper_ShouldCallIStreamSeek_WhenSetPosition() + public void StreamWrapperShouldCallIStreamSeekWhenSetPosition() { // Arrange long positionToSet = 5; int expectedDwOrigin = 0; // STREAM_SEEK_SET - var stremMock = new Mock(); + var streamMock = new Mock(); - var streamWrapper = new ReadonlyStream(stremMock.Object) + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) { // Act - Position = positionToSet, - }; + streamWrapper.Position = positionToSet; - // Assert - stremMock.Verify(_ => _.Seek(It.Is(offset => offset == positionToSet), It.Is(dworigin => dworigin == expectedDwOrigin), It.IsAny()), Times.Once); + // Assert + streamMock.Verify(_ => _.Seek(It.Is(offset => offset == positionToSet), It.Is(dworigin => dworigin == expectedDwOrigin), It.IsAny()), Times.Once); + } } [DataTestMethod] @@ -148,7 +157,7 @@ namespace UnitTests_PreviewHandlerCommon [DataRow(5L, SeekOrigin.Current)] [DataRow(0L, SeekOrigin.End)] [DataRow(5L, SeekOrigin.End)] - public void StreamWrapper_ShouldCallIStreamSeekWithValidArguments_WhenSeekCalled(long offset, SeekOrigin origin) + public void StreamWrapperShouldCallIStreamSeekWithValidArgumentsWhenSeekCalled(long offset, SeekOrigin origin) { // Arrange int expectedDwOrigin = 0; @@ -167,37 +176,39 @@ namespace UnitTests_PreviewHandlerCommon break; } - var stremMock = new Mock(); - var streamWrapper = new ReadonlyStream(stremMock.Object); + var streamMock = new Mock(); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Act + streamWrapper.Seek(offset, origin); - // Act - streamWrapper.Seek(offset, origin); - - // Assert - stremMock.Verify(_ => _.Seek(It.Is(actualOffset => actualOffset == offset), It.Is(actualDwOrigin => actualDwOrigin == expectedDwOrigin), It.IsAny()), Times.Once); + // Assert + streamMock.Verify(_ => _.Seek(It.Is(actualOffset => actualOffset == offset), It.Is(actualDwOrigin => actualDwOrigin == expectedDwOrigin), It.IsAny()), Times.Once); + } } [TestMethod] - public void StreamWrapper_ShouldReturnValidPosition_WhenSeekCalled() + public void StreamWrapperShouldReturnValidPositionWhenSeekCalled() { // Arrange long position = 5; - var stremMock = new Mock(); + var streamMock = new Mock(); - stremMock + streamMock .Setup(x => x.Seek(It.IsAny(), It.IsAny(), It.IsAny())) .Callback((dlibMove, dwOrigin, plibNewPosition) => { Marshal.WriteInt64(plibNewPosition, position); }); - var streamWrapper = new ReadonlyStream(stremMock.Object); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Act + var actualPosition = streamWrapper.Seek(0, SeekOrigin.Begin); - // Act - var actualPosition = streamWrapper.Seek(0, SeekOrigin.Begin); - - // Assert - Assert.AreEqual(position, actualPosition); + // Assert + Assert.AreEqual(position, actualPosition); + } } [DataTestMethod] @@ -205,34 +216,35 @@ namespace UnitTests_PreviewHandlerCommon [DataRow(10, 0, -5)] [DataRow(10, 0, 11)] [DataRow(10, 5, 6)] - public void StreamWrapper_ShouldThrow_WhenReadCalledWithOutOfRangeArguments(int bufferLength, int offSet, int bytesToRead) + public void StreamWrapperShouldThrowWhenReadCalledWithOutOfRangeArguments(int bufferLength, int offSet, int bytesToRead) { // Arrange var buffer = new byte[bufferLength]; - var stremMock = new Mock(); + var streamMock = new Mock(); ArgumentOutOfRangeException exception = null; - var streamWrapper = new ReadonlyStream(stremMock.Object); - - // Act - try + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) { - streamWrapper.Read(buffer, offSet, bytesToRead); - } - catch (ArgumentOutOfRangeException ex) - { - exception = ex; - } + // Act + try + { + streamWrapper.Read(buffer, offSet, bytesToRead); + } + catch (ArgumentOutOfRangeException ex) + { + exception = ex; + } - // Assert - Assert.IsNotNull(exception); + // Assert + Assert.IsNotNull(exception); + } } [DataTestMethod] [DataRow(5, 0)] [DataRow(5, 5)] [DataRow(0, 5)] - public void StreamWrapper_ShouldSetValidBuffer_WhenReadCalled(int count, int offset) + public void StreamWrapperShouldSetValidBufferWhenReadCalled(int count, int offset) { // Arrange var inputBuffer = new byte[1024]; @@ -242,9 +254,9 @@ namespace UnitTests_PreviewHandlerCommon streamBytes[i] = (byte)i; } - var stremMock = new Mock(); + var streamMock = new Mock(); - stremMock + streamMock .Setup(x => x.Read(It.IsAny(), It.IsAny(), It.IsAny())) .Callback((buffer, countToRead, bytesReadPtr) => { @@ -252,80 +264,87 @@ namespace UnitTests_PreviewHandlerCommon Marshal.WriteInt32(bytesReadPtr, count); }); - var streamWrapper = new ReadonlyStream(stremMock.Object); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) + { + // Act + var bytesRead = streamWrapper.Read(inputBuffer, offset, count); - // Act - var bytesRead = streamWrapper.Read(inputBuffer, offset, count); - - // Assert - CollectionAssert.AreEqual(streamBytes, inputBuffer.Skip(offset).Take(count).ToArray()); - Assert.AreEqual(count, bytesRead); + // Assert + CollectionAssert.AreEqual(streamBytes, inputBuffer.Skip(offset).Take(count).ToArray()); + Assert.AreEqual(count, bytesRead); + } } [TestMethod] - public void StreamWrapper_ShouldThrowNotImplementedException_WhenFlushCalled() + public void StreamWrapperShouldThrowNotImplementedExceptionWhenFlushCalled() { // Arrange - var stremMock = new Mock(); - var streamWrapper = new ReadonlyStream(stremMock.Object); - NotImplementedException exception = null; - - // Act - try + var streamMock = new Mock(); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) { - streamWrapper.Flush(); - } - catch (NotImplementedException ex) - { - exception = ex; - } + NotImplementedException exception = null; - // Assert - Assert.IsNotNull(exception); + // Act + try + { + streamWrapper.Flush(); + } + catch (NotImplementedException ex) + { + exception = ex; + } + + // Assert + Assert.IsNotNull(exception); + } } [TestMethod] - public void StreamWrapper_ShouldThrowNotImplementedException_WhenSetLengthCalled() + public void StreamWrapperShouldThrowNotImplementedExceptionWhenSetLengthCalled() { // Arrange - var stremMock = new Mock(); - var streamWrapper = new ReadonlyStream(stremMock.Object); - NotImplementedException exception = null; - - // Act - try + var streamMock = new Mock(); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) { - streamWrapper.SetLength(5); - } - catch (NotImplementedException ex) - { - exception = ex; - } + NotImplementedException exception = null; - // Assert - Assert.IsNotNull(exception); + // Act + try + { + streamWrapper.SetLength(5); + } + catch (NotImplementedException ex) + { + exception = ex; + } + + // Assert + Assert.IsNotNull(exception); + } } [TestMethod] - public void StreamWrapper_ShouldThrowNotImplementedException_WhenWriteCalled() + public void StreamWrapperShouldThrowNotImplementedExceptionWhenWriteCalled() { // Arrange - var stremMock = new Mock(); - var streamWrapper = new ReadonlyStream(stremMock.Object); - NotImplementedException exception = null; - - // Act - try + var streamMock = new Mock(); + using (var streamWrapper = new ReadonlyStream(streamMock.Object)) { - streamWrapper.Write(new byte[5], 0, 0); - } - catch (NotImplementedException ex) - { - exception = ex; - } + NotImplementedException exception = null; - // Assert - Assert.IsNotNull(exception); + // Act + try + { + streamWrapper.Write(new byte[5], 0, 0); + } + catch (NotImplementedException ex) + { + exception = ex; + } + + // Assert + Assert.IsNotNull(exception); + } } } } diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/UnitTests-PreviewHandlerCommon.csproj b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/UnitTests-PreviewHandlerCommon.csproj index 12db3f78ee..d14e164019 100644 --- a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/UnitTests-PreviewHandlerCommon.csproj +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/UnitTests-PreviewHandlerCommon.csproj @@ -44,7 +44,7 @@ {748417CA-F17E-487F-9411-CAFB6D3F4877} Library Properties - UnitTests_PreviewHandlerCommon + PreviewHandlerCommonUnitTests UnitTests-PreviewHandlerCommon v4.7.2 512 @@ -82,7 +82,6 @@ true - true @@ -98,6 +97,7 @@ + @@ -114,6 +114,11 @@ + + 3.3.0 + runtime; build; native; contentfiles; analyzers; buildtransitive + all + 1.1.118 runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/WebBrowserExtUnitTests.cs b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/WebBrowserExtUnitTests.cs index b10b411c95..5b2cc55e9f 100644 --- a/src/modules/previewpane/UnitTests-PreviewHandlerCommon/WebBrowserExtUnitTests.cs +++ b/src/modules/previewpane/UnitTests-PreviewHandlerCommon/WebBrowserExtUnitTests.cs @@ -6,7 +6,7 @@ using System.Reflection; using Microsoft.VisualStudio.TestTools.UnitTesting; using PreviewHandlerCommon; -namespace UnitTests_PreviewHandlerCommon +namespace PreviewHandlerCommonUnitTests { [TestClass] public class WebBrowserExtUnitTests : WebBrowserExt @@ -14,7 +14,7 @@ namespace UnitTests_PreviewHandlerCommon private const string DISPIDAMBIENTDLCONTROL = "[DISPID=-5512]"; [TestMethod] - public void InvokeMember_ShouldSetValidFlags_WhenCalledWithValidDispId() + public void InvokeMemberShouldSetValidFlagsWhenCalledWithValidDispId() { // Arrange var extendedSite = CreateWebBrowserSiteBase() as WebBrowserSiteExt; @@ -37,7 +37,7 @@ namespace UnitTests_PreviewHandlerCommon } [TestMethod] - public void InvokeMember_ShouldOnlySetValidFlags_WhenCalledWithValidDispId() + public void InvokeMemberShouldOnlySetValidFlagsWhenCalledWithValidDispId() { // Arrange var extendedSite = CreateWebBrowserSiteBase() as WebBrowserSiteExt;