diff --git a/mocha-dotnet.sln b/mocha-dotnet.sln index 6437a58..bc8f5f0 100644 --- a/mocha-dotnet.sln +++ b/mocha-dotnet.sln @@ -61,6 +61,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mocha.Modeling", "mocha-dot EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mocha.Modeling.Tests", "mocha-dotnet\tests\Mocha.Modeling.Tests\Mocha.Modeling.Tests.csproj", "{B2A51995-3440-45C5-BB84-FF49A26CF00B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mocha.Core.Tests.Libraries.System", "mocha-dotnet\tests\Mocha.Core.Tests.Libraries.System\Mocha.Core.Tests.Libraries.System.csproj", "{9D10D57D-A059-4420-AA37-DDE6B8E882E5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -131,6 +133,10 @@ Global {B2A51995-3440-45C5-BB84-FF49A26CF00B}.Debug|Any CPU.Build.0 = Debug|Any CPU {B2A51995-3440-45C5-BB84-FF49A26CF00B}.Release|Any CPU.ActiveCfg = Release|Any CPU {B2A51995-3440-45C5-BB84-FF49A26CF00B}.Release|Any CPU.Build.0 = Release|Any CPU + {9D10D57D-A059-4420-AA37-DDE6B8E882E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D10D57D-A059-4420-AA37-DDE6B8E882E5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D10D57D-A059-4420-AA37-DDE6B8E882E5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D10D57D-A059-4420-AA37-DDE6B8E882E5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -162,6 +168,7 @@ Global {EA82944B-9720-4126-898F-3E3EDDAE44F4} = {11486802-8136-4958-8B32-FC34630B0306} {E3DB95D7-9B56-4624-9961-50B0CDAFDC78} = {A2C401E9-FED4-43BA-A928-566239894CEE} {B2A51995-3440-45C5-BB84-FF49A26CF00B} = {27C300F5-5172-4225-A6F7-3503B9007DD8} + {9D10D57D-A059-4420-AA37-DDE6B8E882E5} = {27C300F5-5172-4225-A6F7-3503B9007DD8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D28A9CF8-0235-4F8F-865F-C460BDCAE16D} diff --git a/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/GetInstanceText.cs b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/GetInstanceText.cs new file mode 100644 index 0000000..ebe0cd8 --- /dev/null +++ b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/GetInstanceText.cs @@ -0,0 +1,62 @@ +using Mocha.Testing; + +namespace Mocha.Core.Tests.Libraries.System; + +public class GetInstanceText : OmsTestsBase +{ + private string GetInstanceTextTest(Guid guid) + { + InstanceHandle ihClass = Oms.GetInstance(guid); + string text = Oms.GetInstanceText(ihClass); + return text; + } + + public static IEnumerable Attributes__Cases + { + get + { + yield return new TestCaseData(KnownAttributeGuids.Text.Name).Returns("Name"); + yield return new TestCaseData(KnownAttributeGuids.Boolean.UseAnyCondition).Returns("Use Any Condition"); + yield return new TestCaseData(KnownAttributeGuids.Numeric.DebugDefinitionLineNumber).Returns("Source Definition Line Number"); + yield return new TestCaseData(KnownAttributeGuids.Text.IPAddress).Returns("IP Address"); + } + } + [TestCaseSource(nameof(Attributes__Cases))] + public string Attributes(Guid guid) + { + return GetInstanceTextTest(guid); + } + + public static IEnumerable Method_Classes__Cases + { + get + { + yield return new TestCaseData(KnownInstanceGuids.MethodClasses.AssignAttributeMethod).Returns("AA - Assign Attribute Method"); + yield return new TestCaseData(KnownInstanceGuids.MethodClasses.BuildAttributeMethod).Returns("BA - Build Attribute Method"); + yield return new TestCaseData(KnownInstanceGuids.MethodClasses.GetRelationshipMethod).Returns("GR - Get Relationship Method"); + yield return new TestCaseData(KnownInstanceGuids.MethodClasses.CalculateNumericMethod).Returns("CN - Calculate Numeric Method"); + } + } + [TestCaseSource(nameof(Method_Classes__Cases))] + public string Method_Classes(Guid guid) + { + return GetInstanceTextTest(guid); + } + + public static IEnumerable Work_Sets__Cases + { + get + { + yield return new TestCaseData(KnownInstanceGuids.WorkSets.TaskRelatedInstance).Returns("Task Related Instance"); + yield return new TestCaseData(KnownInstanceGuids.WorkSets.ParentClass).Returns("Parent Class"); + yield return new TestCaseData(KnownInstanceGuids.WorkSets.AccessModifierNonsingular).Returns("Access Modifier [Nonsingular]"); + yield return new TestCaseData(KnownInstanceGuids.WorkSets.DestinationClassForRelationship).Returns("Destination Class for Relationship"); + } + } + [TestCaseSource(nameof(Work_Sets__Cases))] + public string Work_Sets(Guid guid) + { + return GetInstanceTextTest(guid); + } + +} \ No newline at end of file diff --git a/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/GlobalUsings.cs b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/GlobalUsings.cs new file mode 100644 index 0000000..cefced4 --- /dev/null +++ b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/GlobalUsings.cs @@ -0,0 +1 @@ +global using NUnit.Framework; \ No newline at end of file diff --git a/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/Method__get__Method_Abbreviation.cs b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/Method__get__Method_Abbreviation.cs new file mode 100644 index 0000000..9ad7cf5 --- /dev/null +++ b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/Method__get__Method_Abbreviation.cs @@ -0,0 +1,21 @@ +using Mocha.Testing; + +namespace Mocha.Core.Tests.Libraries.System; + +public class Method__get__Method_Abbreviation : OmsTestsBase +{ + [Test] + public void CN__Calculate_Numeric_Method() + { + InstanceHandle ihClass = Oms.GetInstance(KnownInstanceGuids.MethodClasses.CalculateNumericMethod); + + Oop.MethodReturningAttribute ihMethod = (Oop.MethodReturningAttribute) Oms.GetMethod(Oms.GetInstance(KnownInstanceGuids.Classes.Method), "get", "Method Type"); + Oop.ReturnAttributeMethodBinding ramb = ihMethod.CreateMethodBinding(Oms); + OmsContext ctx = Oms.CreateContext(); + string text = Oms.ExecuteReturningAttributeValue(ctx, ramb, null, new KeyValuePair[] + { + new KeyValuePair(Oms.GetInstance(KnownInstanceGuids.Classes.Method), ihClass) + }); + Assert.That(text, Is.EqualTo("CN - Calculate Numeric Method")); + } +} \ No newline at end of file diff --git a/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/Mocha.Core.Tests.Libraries.System.csproj b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/Mocha.Core.Tests.Libraries.System.csproj new file mode 100644 index 0000000..695dd12 --- /dev/null +++ b/mocha-dotnet/tests/Mocha.Core.Tests.Libraries.System/Mocha.Core.Tests.Libraries.System.csproj @@ -0,0 +1,27 @@ + + + + net8.0 + enable + enable + + false + true + + + + + + + + + + + + + + + + + +