Added thread IsBackground unit test

This commit is contained in:
Ami Bar
2012-08-21 09:00:05 +03:00
parent 26d3fcd82d
commit 9b69e03cf5
4 changed files with 50 additions and 3 deletions
+1
View File
@@ -111,6 +111,7 @@
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="TestThreadIsBackground.cs" />
<Compile Include="TestThreadApartmentState.cs" />
<Compile Include="TestParallelMethods.cs" />
<Compile Include="TestFalseFillStateWithParams.cs" />
+2 -2
View File
@@ -5,7 +5,7 @@ using Amib.Threading;
namespace SmartThreadPoolTests
{
/// <summary>
/// Summary description for TestThreadPriority.
/// Summary description for TestThreadApartment.
/// </summary>
[TestFixture]
[Category("TestThreadApartment")]
@@ -26,7 +26,7 @@ namespace SmartThreadPoolTests
private static void CheckApartmentState(ApartmentState requestApartmentState)
{
STPStartInfo stpStartInfo = new STPStartInfo();
stpStartInfo.ApartmentState = requestApartmentState;
stpStartInfo.ApartmentState = requestApartmentState;
SmartThreadPool stp = new SmartThreadPool(stpStartInfo);
+47
View File
@@ -0,0 +1,47 @@
using System.Threading;
using NUnit.Framework;
using Amib.Threading;
namespace SmartThreadPoolTests
{
/// <summary>
/// Summary description for TestThreadIsBackground.
/// </summary>
[TestFixture]
[Category("TestThreadIsBackground")]
public class TestThreadIsBackground
{
[Test]
public void TestIsBackground()
{
CheckIsBackground(true);
}
[Test]
public void TestNotIsBackground()
{
CheckIsBackground(false);
}
private static void CheckIsBackground(bool isBackground)
{
STPStartInfo stpStartInfo = new STPStartInfo();
stpStartInfo.AreThreadsBackground = isBackground;
SmartThreadPool stp = new SmartThreadPool(stpStartInfo);
IWorkItemResult<bool> wir = stp.QueueWorkItem(() => GetCurrentThreadIsBackground());
bool resultIsBackground = wir.GetResult();
stp.WaitForIdle();
Assert.AreEqual(isBackground, resultIsBackground);
}
private static bool GetCurrentThreadIsBackground()
{
return Thread.CurrentThread.IsBackground;
}
}
}