-
Notifications
You must be signed in to change notification settings - Fork 750
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add tests for MbUnit * add Activator tests to see if the test attribute objects can be instantiated dynamically this require the reference to MbUnit and Gallio!(unfortunately) but just for the test Known problems: MbUnitRuntimeProvider.TestInconclusive might not work correctly
- Loading branch information
unknown
committed
Jun 3, 2010
1 parent
2391181
commit 0650a52
Showing
15 changed files
with
678 additions
and
270 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
104 changes: 104 additions & 0 deletions
104
Generator/UnitTestProvider/MbUnitTestGeneratorProvider.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
using System; | ||
using System.CodeDom; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
|
||
namespace TechTalk.SpecFlow.Generator.UnitTestProvider | ||
{ | ||
public class MbUnitTestGeneratorProvider : IUnitTestGeneratorProvider | ||
{ | ||
private const string TESTFIXTURE_ATTR = "MbUnit.Framework.TestFixtureAttribute"; | ||
private const string TEST_ATTR = "MbUnit.Framework.TestAttribute"; | ||
private const string CATEGORY_ATTR = "MbUnit.Framework.CategoryAttribute"; | ||
private const string TESTSETUP_ATTR = "MbUnit.Framework.SetUpAttribute"; | ||
private const string TESTFIXTURESETUP_ATTR = "MbUnit.Framework.FixtureSetUpAttribute"; | ||
private const string TESTFIXTURETEARDOWN_ATTR = "MbUnit.Framework.FixtureTearDownAttribute"; | ||
private const string TESTTEARDOWN_ATTR = "MbUnit.Framework.TearDownAttribute"; | ||
private const string IGNORE_ATTR = "MbUnit.Framework.IgnoreAttribute"; | ||
private const string DESCRIPTION_ATTR = "MbUnit.Framework.DescriptionAttribute"; | ||
|
||
public void SetTestFixture(CodeTypeDeclaration typeDeclaration, string title, string description) | ||
{ | ||
typeDeclaration.CustomAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(TESTFIXTURE_ATTR))); | ||
|
||
SetDescription(typeDeclaration.CustomAttributes, title); | ||
} | ||
|
||
private void SetDescription(CodeAttributeDeclarationCollection customAttributes, string description) | ||
{ | ||
customAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(DESCRIPTION_ATTR), | ||
new CodeAttributeArgument( | ||
new CodePrimitiveExpression(description)))); | ||
} | ||
|
||
private void SetCategories(CodeAttributeDeclarationCollection customAttributes, IEnumerable<string> categories) | ||
{ | ||
foreach (var category in categories) | ||
{ | ||
customAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(CATEGORY_ATTR), | ||
new CodeAttributeArgument( | ||
new CodePrimitiveExpression(category)))); | ||
} | ||
} | ||
|
||
public void SetTestFixtureCategories(CodeTypeDeclaration typeDeclaration, IEnumerable<string> categories) | ||
{ | ||
SetCategories(typeDeclaration.CustomAttributes, categories); | ||
} | ||
|
||
public void SetTest(CodeMemberMethod memberMethod, string title) | ||
{ | ||
memberMethod.CustomAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(TEST_ATTR))); | ||
|
||
SetDescription(memberMethod.CustomAttributes, title); | ||
} | ||
|
||
public void SetTestCategories(CodeMemberMethod memberMethod, IEnumerable<string> categories) | ||
{ | ||
SetCategories(memberMethod.CustomAttributes, categories); | ||
} | ||
|
||
public void SetTestSetup(CodeMemberMethod memberMethod) | ||
{ | ||
memberMethod.CustomAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(TESTSETUP_ATTR))); | ||
} | ||
|
||
public void SetTestFixtureSetup(CodeMemberMethod memberMethod) | ||
{ | ||
memberMethod.CustomAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(TESTFIXTURESETUP_ATTR))); | ||
} | ||
|
||
public void SetTestFixtureTearDown(CodeMemberMethod memberMethod) | ||
{ | ||
memberMethod.CustomAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(TESTFIXTURETEARDOWN_ATTR))); | ||
} | ||
|
||
public void SetTestTearDown(CodeMemberMethod memberMethod) | ||
{ | ||
memberMethod.CustomAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(TESTTEARDOWN_ATTR))); | ||
} | ||
|
||
public void SetIgnore(CodeTypeMember codeTypeMember) | ||
{ | ||
codeTypeMember.CustomAttributes.Add( | ||
new CodeAttributeDeclaration( | ||
new CodeTypeReference(IGNORE_ATTR))); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
using System; | ||
|
||
namespace TechTalk.SpecFlow.UnitTestProvider | ||
{ | ||
public class MbUnitRuntimeProvider : IUnitTestRuntimeProvider | ||
{ | ||
private const string MSTEST_ASSEMBLY = "MbUnit"; | ||
private const string ASSERT_TYPE = "MbUnit.Framework.Assert"; | ||
|
||
private Action<string> assertInconclusive; | ||
|
||
#region IUnitTestRuntimeProvider Members | ||
|
||
public void TestInconclusive(string message) | ||
{ | ||
if (assertInconclusive == null) | ||
{ | ||
assertInconclusive = UnitTestRuntimeProviderHelper | ||
.GetAssertMethod(MSTEST_ASSEMBLY, ASSERT_TYPE, "Inconclusive"); | ||
} | ||
|
||
assertInconclusive(message); | ||
} | ||
|
||
public void TestIgnore(string message) | ||
{ | ||
TestInconclusive(message); // there is no dynamic "Ignore" in mstest | ||
} | ||
|
||
public bool DelayedFixtureTearDown | ||
{ | ||
get { return true; } | ||
} | ||
|
||
#endregion | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.