diff --git a/StronglyTypedEnumConverter_Tests/BasicEnumTests.cs b/StronglyTypedEnumConverter_Tests/BasicEnumTests.cs index b3c8c53..cfa4235 100644 --- a/StronglyTypedEnumConverter_Tests/BasicEnumTests.cs +++ b/StronglyTypedEnumConverter_Tests/BasicEnumTests.cs @@ -8,28 +8,28 @@ namespace StronglyTypedEnumConverter { [TestClass] - public class BasicEnumTests + public abstract class BasicEnumTests { private static Type _type; - [ClassInitialize] - public static void ClassInit(TestContext context) + protected static void ClassInit(Action adjustOptions) { - _type = CompiledStrongTypeFromEnumSourceCode("enum CowboyType {Good,Bad,Ugly};"); + _type = CompiledStrongTypeFromEnumSourceCode(adjustOptions); EnumMembers = _type.GetEnumMembers(); EnumValues = _type.GetEnumMemberValues(); } - + private const string SourceCode = "enum CowboyType {Good,Bad,Ugly};"; + /// /// Compiles enum source code to an in-memory strongly typed Type /// - /// + /// /// - private static Type CompiledStrongTypeFromEnumSourceCode(string enumSourceCode) + private static Type CompiledStrongTypeFromEnumSourceCode(Action adjustOptions) { var converter = new Converter(); - var stronglyTypedSourceCode = converter.Convert(enumSourceCode); + var stronglyTypedSourceCode = converter.Convert(SourceCode, adjustOptions); Console.WriteLine(stronglyTypedSourceCode); var compiler = new Compiler(); diff --git a/StronglyTypedEnumConverter_Tests/MemberEnumTests.cs b/StronglyTypedEnumConverter_Tests/MemberEnumTests.cs new file mode 100644 index 0000000..1e97b85 --- /dev/null +++ b/StronglyTypedEnumConverter_Tests/MemberEnumTests.cs @@ -0,0 +1,16 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace StronglyTypedEnumConverter +{ + [TestClass] + public class MemberEnumTests : BasicEnumTests + { + + [ClassInitialize] + public static void ClassInit(TestContext context) + { + BasicEnumTests.ClassInit(options => options.AdditionPriority = AdditionPriority.Members); + } + + } +} diff --git a/StronglyTypedEnumConverter_Tests/PropertyEnumTests.cs b/StronglyTypedEnumConverter_Tests/PropertyEnumTests.cs new file mode 100644 index 0000000..35e97fb --- /dev/null +++ b/StronglyTypedEnumConverter_Tests/PropertyEnumTests.cs @@ -0,0 +1,16 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace StronglyTypedEnumConverter +{ + [TestClass] + public class PropertyEnumTests : BasicEnumTests + { + + [ClassInitialize] + public static void ClassInit(TestContext context) + { + BasicEnumTests.ClassInit(options => options.AdditionPriority = AdditionPriority.Properties); + } + + } +} diff --git a/StronglyTypedEnumConverter_Tests/StronglyTypedEnumConverter_Tests.csproj b/StronglyTypedEnumConverter_Tests/StronglyTypedEnumConverter_Tests.csproj index 35d2c4e..6f6f237 100644 --- a/StronglyTypedEnumConverter_Tests/StronglyTypedEnumConverter_Tests.csproj +++ b/StronglyTypedEnumConverter_Tests/StronglyTypedEnumConverter_Tests.csproj @@ -62,7 +62,9 @@ + +