add tests to check the actual Mocha code (YAML) in the system libraries

This commit is contained in:
Michael Becker 2025-09-26 00:12:55 -04:00
parent 40dd9b4b76
commit 9e9c67d06a
5 changed files with 118 additions and 0 deletions

View File

@ -61,6 +61,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mocha.Modeling", "mocha-dot
EndProject 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}" 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 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 Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU 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}.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.ActiveCfg = Release|Any CPU
{B2A51995-3440-45C5-BB84-FF49A26CF00B}.Release|Any CPU.Build.0 = 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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -162,6 +168,7 @@ Global
{EA82944B-9720-4126-898F-3E3EDDAE44F4} = {11486802-8136-4958-8B32-FC34630B0306} {EA82944B-9720-4126-898F-3E3EDDAE44F4} = {11486802-8136-4958-8B32-FC34630B0306}
{E3DB95D7-9B56-4624-9961-50B0CDAFDC78} = {A2C401E9-FED4-43BA-A928-566239894CEE} {E3DB95D7-9B56-4624-9961-50B0CDAFDC78} = {A2C401E9-FED4-43BA-A928-566239894CEE}
{B2A51995-3440-45C5-BB84-FF49A26CF00B} = {27C300F5-5172-4225-A6F7-3503B9007DD8} {B2A51995-3440-45C5-BB84-FF49A26CF00B} = {27C300F5-5172-4225-A6F7-3503B9007DD8}
{9D10D57D-A059-4420-AA37-DDE6B8E882E5} = {27C300F5-5172-4225-A6F7-3503B9007DD8}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D28A9CF8-0235-4F8F-865F-C460BDCAE16D} SolutionGuid = {D28A9CF8-0235-4F8F-865F-C460BDCAE16D}

View File

@ -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<TestCaseData> 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<TestCaseData> 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<TestCaseData> 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);
}
}

View File

@ -0,0 +1 @@
global using NUnit.Framework;

View File

@ -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<string>(ctx, ramb, null, new KeyValuePair<InstanceHandle, object>[]
{
new KeyValuePair<InstanceHandle, object>(Oms.GetInstance(KnownInstanceGuids.Classes.Method), ihClass)
});
Assert.That(text, Is.EqualTo("CN - Calculate Numeric Method"));
}
}

View File

@ -0,0 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
<PackageReference Include="NUnit.Analyzers" Version="3.6.1" />
<PackageReference Include="coverlet.collector" Version="6.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../../../framework-dotnet/framework-dotnet/src/lib/MBS.Core/MBS.Core.csproj" />
<ProjectReference Include="../../src/lib/Mocha.Core/Mocha.Core.csproj" />
<ProjectReference Include="../../src/lib/Mocha.Testing/Mocha.Testing.csproj" />
<ProjectReference Include="../../src/plugins/Mocha.Plugins.Libraries.McxMini/Mocha.Plugins.Libraries.McxMini.csproj" />
</ItemGroup>
</Project>