SEBWIN-679: Extended unit tests for core library and attempted to fix open windows test for external application.
This commit is contained in:
		
							parent
							
								
									37e3950a6f
								
							
						
					
					
						commit
						817f598d8a
					
				
					 4 changed files with 39 additions and 3 deletions
				
			
		| 
						 | 
					@ -10,6 +10,7 @@ using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
using System.Threading;
 | 
					using System.Threading;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
 | 
					using Microsoft.VisualStudio.TestTools.UnitTesting;
 | 
				
			||||||
using Moq;
 | 
					using Moq;
 | 
				
			||||||
using SafeExamBrowser.Core.Contracts.Resources.Icons;
 | 
					using SafeExamBrowser.Core.Contracts.Resources.Icons;
 | 
				
			||||||
| 
						 | 
					@ -51,7 +52,7 @@ namespace SafeExamBrowser.Applications.UnitTests
 | 
				
			||||||
		[TestMethod]
 | 
							[TestMethod]
 | 
				
			||||||
		public void GetWindows_MustCorrectlyReturnOpenWindows()
 | 
							public void GetWindows_MustCorrectlyReturnOpenWindows()
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			var openWindows = new List<IntPtr> { new IntPtr(123), new IntPtr(234), new IntPtr(456), new IntPtr(345), new IntPtr(567), new IntPtr(789), };
 | 
								var openWindows = new List<IntPtr> { new IntPtr(123), new IntPtr(234), new IntPtr(456), new IntPtr(345), new IntPtr(567), new IntPtr(789) };
 | 
				
			||||||
			var process1 = new Mock<IProcess>();
 | 
								var process1 = new Mock<IProcess>();
 | 
				
			||||||
			var process2 = new Mock<IProcess>();
 | 
								var process2 = new Mock<IProcess>();
 | 
				
			||||||
			var sync = new AutoResetEvent(false);
 | 
								var sync = new AutoResetEvent(false);
 | 
				
			||||||
| 
						 | 
					@ -84,8 +85,9 @@ namespace SafeExamBrowser.Applications.UnitTests
 | 
				
			||||||
			Assert.IsTrue(windows.Any(w => w.Handle == new IntPtr(567)));
 | 
								Assert.IsTrue(windows.Any(w => w.Handle == new IntPtr(567)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			nativeMethods.Setup(n => n.GetOpenWindows()).Returns(openWindows.Skip(2));
 | 
								nativeMethods.Setup(n => n.GetOpenWindows()).Returns(openWindows.Skip(2));
 | 
				
			||||||
			process2.Raise(p => p.Terminated += null, default(int));
 | 
								Task.Run(() => process2.Raise(p => p.Terminated += null, default(int)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								sync.WaitOne();
 | 
				
			||||||
			sync.WaitOne();
 | 
								sync.WaitOne();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			windows = sut.GetWindows();
 | 
								windows = sut.GetWindows();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,8 +10,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
 | 
				
			||||||
using Moq;
 | 
					using Moq;
 | 
				
			||||||
using SafeExamBrowser.Communication.Contracts;
 | 
					using SafeExamBrowser.Communication.Contracts;
 | 
				
			||||||
using SafeExamBrowser.Core.Contracts.OperationModel;
 | 
					using SafeExamBrowser.Core.Contracts.OperationModel;
 | 
				
			||||||
using SafeExamBrowser.Logging.Contracts;
 | 
					 | 
				
			||||||
using SafeExamBrowser.Core.Operations;
 | 
					using SafeExamBrowser.Core.Operations;
 | 
				
			||||||
 | 
					using SafeExamBrowser.Logging.Contracts;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace SafeExamBrowser.Core.UnitTests.Operations
 | 
					namespace SafeExamBrowser.Core.UnitTests.Operations
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -83,5 +83,19 @@ namespace SafeExamBrowser.Core.UnitTests.Operations
 | 
				
			||||||
			hostMock.Verify(h => h.Stop(), Times.Once);
 | 
								hostMock.Verify(h => h.Stop(), Times.Once);
 | 
				
			||||||
			hostMock.Verify(h => h.Start(), Times.Never);
 | 
								hostMock.Verify(h => h.Start(), Times.Never);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							[TestMethod]
 | 
				
			||||||
 | 
							public void MustFireStatusChangedEvent()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								var fired = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								sut.StatusChanged += (_) => fired++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								sut.Perform();
 | 
				
			||||||
 | 
								sut.Repeat();
 | 
				
			||||||
 | 
								sut.Revert();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								Assert.AreEqual(3, fired);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -64,5 +64,16 @@ namespace SafeExamBrowser.Core.UnitTests.Operations
 | 
				
			||||||
			Assert.AreEqual(OperationResult.Success, repeat);
 | 
								Assert.AreEqual(OperationResult.Success, repeat);
 | 
				
			||||||
			Assert.AreEqual(OperationResult.Success, revert);
 | 
								Assert.AreEqual(OperationResult.Success, revert);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							[TestMethod]
 | 
				
			||||||
 | 
							public void MustNotFireEvents()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								var sut = new DelegateOperation(default, default, default);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								sut.ActionRequired += (_) => Assert.Fail();
 | 
				
			||||||
 | 
								sut.StatusChanged += (_) => Assert.Fail();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								sut.Perform();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,5 +48,14 @@ namespace SafeExamBrowser.Core.UnitTests.Operations
 | 
				
			||||||
			sut.Revert();
 | 
								sut.Revert();
 | 
				
			||||||
			text.VerifyNoOtherCalls();
 | 
								text.VerifyNoOtherCalls();
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							[TestMethod]
 | 
				
			||||||
 | 
							public void MustNotFireEvents()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								sut.ActionRequired += (_) => Assert.Fail();
 | 
				
			||||||
 | 
								sut.StatusChanged += (_) => Assert.Fail();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								sut.Perform();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue