Skip to content

Refactored MCP tools - #2

Merged
IvanMurzak merged 1 commit into
mainfrom
update/general-improvements
Jan 22, 2026
Merged

IvanMurzak merged 1 commit into
mainfrom
update/general-improvements

Refactored MCP tools

143a216
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / 2022.3.62f3 editmode windows-mono Test Results completed Jan 22, 2026 in 0s

✅ 2022.3.62f3 editmode windows-mono Test Results - 468/468 - Passed in 40.329s

✅ editmode-results.xml - 468/468 - Passed in 40.329s

Details

✅ editmode-results.xml - 468/468 - Passed in 40.329s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.AssetsFindBuiltInTests - 26/26 - Passed in 0.520s
    • FindBuiltIn_CombinesNameAndTypeFilters - Passed in 0.153s
    • FindBuiltIn_FiltersByName_CaseInsensitive - Passed in 0.022s
    • FindBuiltIn_FiltersByName_MultipleWords - Passed in 0.014s
    • FindBuiltIn_FiltersByName_NoMatches_ReturnsEmptyList - Passed in 0.017s
    • FindBuiltIn_FiltersByName_SingleWord - Passed in 0.017s
    • FindBuiltIn_FiltersByType_Material - Passed in 0.007s
    • FindBuiltIn_FiltersByType_Shader - Passed in 0.013s
    • FindBuiltIn_FiltersByType_Texture - Passed in 0.008s
    • FindBuiltIn_Priority_ExactMatch_BeforePartialMatch - Passed in 0.014s
    • FindBuiltIn_Priority_ExactMatch_ComesFirst - Passed in 0.021s
    • FindBuiltIn_Priority_ExactMatchIsCaseInsensitive - Passed in 0.034s
    • FindBuiltIn_Priority_NoNameFilter_ReturnsAllWithSamePriority - Passed in 0.007s
    • FindBuiltIn_Priority_OrderIsConsistent - Passed in 0.020s
    • FindBuiltIn_Priority_PartialMatch_BeforeWordMatch - Passed in 0.014s
    • FindBuiltIn_Priority_SingleWordSearch_MatchesCorrectly - Passed in 0.014s
    • FindBuiltIn_Priority_WithTypeFilter_StillOrdersByPriority - Passed in 0.007s
    • FindBuiltIn_Priority_WordSplitOnCommonDelimiters - Passed in 0.030s
    • FindBuiltIn_RespectsMaxResults - Passed in 0.013s
    • FindBuiltIn_RespectsMaxResults_LargeValue - Passed in 0.014s
    • FindBuiltIn_ReturnsAssets_WithoutFilters - Passed in 0.013s
    • FindBuiltIn_ReturnsCorrectAssetPath - Passed in 0.013s
    • FindBuiltIn_ReturnsNullGuidForBuiltInAssets - Passed in 0.013s
    • FindBuiltIn_ReturnsUniqueAssets - Passed in 0.013s
    • FindBuiltIn_ReturnsValidAssetType - Passed in 0.013s
    • FindBuiltIn_ThrowsException_WhenMaxResultsIsNegative - Passed in 0.010s
    • FindBuiltIn_ThrowsException_WhenMaxResultsIsZero - Passed in 0.006s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.AssetsGetDataWithBuiltInTests - 3/3 - Passed in 0.132s
    • GetData_BuiltInAsset_NotFound_ThrowsException - Passed in 0.008s
    • GetData_BuiltInMaterial_ReturnsData - Passed in 0.057s
    • GetData_BuiltInShader_ReturnsData - Passed in 0.067s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.AssetsMaterialTests - 1/1 - Passed in 1.063s
    • Material_Create - Passed in 1.063s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.BlacklistTypeTests - 7/7 - Passed in 1.412s
    • Serialize_Component_BlacklistByTypeName_ShouldNotContainBlacklistedField - Passed in 0.225s
    • Serialize_Component_WithBlacklistedStruct_Field_ShouldNotContainBlacklistedField - Passed in 0.057s
    • Serialize_Component_WithBlacklistedType_Field_ShouldNotContainBlacklistedField - Passed in 0.041s
    • Serialize_Component_WithBlacklistedType_Property_ShouldNotContainBlacklistedProperty - Passed in 0.042s
    • Serialize_Component_WithMultipleBlacklistedTypes_ShouldNotContainAnyBlacklistedFields - Passed in 0.028s
    • Serialize_Component_WithoutBlacklist_ShouldContainAllFields - Passed in 0.080s
    • Serialize_Material_WithBlacklistedColor_ShouldNotContainColorMembers - Passed in 0.939s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.BuiltInAssetCacheTests - 5/5 - Passed in 0.035s
    • FindAsset_Knob_AsSprite_ReturnsSprite - Passed in 0.008s
    • FindAsset_Knob_AsTexture2D_ReturnsTexture2D - Passed in 0.006s
    • FindAsset_Knob_SpriteAndTexture2D_AreDifferentObjects - Passed in 0.008s
    • FindAssetByExtension_KnownBuiltIn_ReturnsAsset - Passed in 0.007s
    • FindAssetByExtension_NullOrEmptyExtension_ReturnsAnyMatch - Passed in 0.006s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.ConnectionManagerTests - 8/8 - Passed in 0.072s
    • ConnectionManager_Connect_WithInvalidEndpoint_ShouldReturnFalse - Passed in 0.047s
    • ConnectionManager_Constructor_ShouldInitializeCorrectly - Passed in 0.003s
    • ConnectionManager_Constructor_WithNullBuilder_ShouldThrowArgumentNullException - Passed in 0.003s
    • ConnectionManager_Constructor_WithNullLogger_ShouldThrowArgumentNullException - Passed in 0.003s
    • ConnectionManager_Disconnect_ShouldSetKeepConnectedToFalse - Passed in 0.006s
    • ConnectionManager_Dispose_ShouldNotThrow - Passed in 0.004s
    • ConnectionManager_Endpoint_ShouldBeSettable - Passed in 0.003s
    • ConnectionManager_Endpoint_ShouldHandleValidUrls - Passed in 0.003s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.DataFieldScriptableObjectPopulationTests - 1/1 - Passed in 2.045s
    • Populate_All_Fields_SO_Test - Passed in 2.045s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.DataPopulationTests - 1/1 - Passed in 1.757s
    • Populate_All_Types_Test - Passed in 1.757s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.DataPropertyPopulationTests - 1/1 - Passed in 1.737s
    • Populate_All_Properties_Test - Passed in 1.737s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.DataPropertyScriptableObjectPopulationTests - 1/1 - Passed in 1.832s
    • Populate_All_Properties_SO_Test - Passed in 1.832s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.DemoTest - 1/1 - Passed in 0.017s
    • Always_Valid_Test - Passed in 0.017s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.JsonConverter.BoundsConverterTests - 12/12 - Passed in 0.226s
    • Bounds_LargeValues - Passed in 0.024s
    • Bounds_MixedValues - Passed in 0.017s
    • Bounds_NaN - Passed in 0.017s
    • Bounds_NegativeInfinity - Passed in 0.018s
    • Bounds_NegativeValues - Passed in 0.017s
    • Bounds_PositiveInfinity - Passed in 0.017s
    • Bounds_Standard - Passed in 0.017s
    • Bounds_Zero - Passed in 0.017s
    • BoundsInt_LargeValues - Passed in 0.029s
    • BoundsInt_NegativeValues - Passed in 0.018s
    • BoundsInt_Standard - Passed in 0.017s
    • BoundsInt_Zero - Passed in 0.016s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.JsonConverter.ColorConverterTests - 14/14 - Passed in 0.242s
    • Color_Black - Passed in 0.017s
    • Color_Clear - Passed in 0.017s
    • Color_Custom - Passed in 0.017s
    • Color_HDR_Values - Passed in 0.017s
    • Color_MixedValues - Passed in 0.017s
    • Color_NaN - Passed in 0.016s
    • Color_NegativeInfinity - Passed in 0.017s
    • Color_NegativeValues - Passed in 0.017s
    • Color_PositiveInfinity - Passed in 0.017s
    • Color_White - Passed in 0.017s
    • Color32_Black - Passed in 0.019s
    • Color32_Custom - Passed in 0.017s
    • Color32_Transparent - Passed in 0.017s
    • Color32_White - Passed in 0.017s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.JsonConverter.MatrixConverterTests - 9/9 - Passed in 0.160s
    • Matrix4x4_CustomValues - Passed in 0.022s
    • Matrix4x4_Identity - Passed in 0.016s
    • Matrix4x4_MixedValues - Passed in 0.017s
    • Matrix4x4_NaN - Passed in 0.017s
    • Matrix4x4_NegativeInfinity - Passed in 0.017s
    • Matrix4x4_NegativeValues - Passed in 0.018s
    • Matrix4x4_PositiveInfinity - Passed in 0.017s
    • Matrix4x4_TRS - Passed in 0.017s
    • Matrix4x4_Zero - Passed in 0.017s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.JsonConverter.QuaternionConverterTests - 9/9 - Passed in 0.156s
    • Quaternion_AngleAxis - Passed in 0.020s
    • Quaternion_CustomValues - Passed in 0.017s
    • Quaternion_Euler - Passed in 0.016s
    • Quaternion_Identity - Passed in 0.017s
    • Quaternion_MixedValues - Passed in 0.017s
    • Quaternion_NaN - Passed in 0.017s
    • Quaternion_NegativeInfinity - Passed in 0.017s
    • Quaternion_NegativeValues - Passed in 0.017s
    • Quaternion_PositiveInfinity - Passed in 0.017s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.JsonConverter.RectConverterTests - 12/12 - Passed in 0.212s
    • Rect_LargeValues - Passed in 0.021s
    • Rect_MixedValues - Passed in 0.017s
    • Rect_NaN - Passed in 0.017s
    • Rect_NegativeInfinity - Passed in 0.017s
    • Rect_NegativeValues - Passed in 0.017s
    • Rect_PositiveInfinity - Passed in 0.017s
    • Rect_Standard - Passed in 0.016s
    • Rect_Zero - Passed in 0.017s
    • RectInt_LargeValues - Passed in 0.019s
    • RectInt_NegativeValues - Passed in 0.017s
    • RectInt_Standard - Passed in 0.017s
    • RectInt_Zero - Passed in 0.017s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.JsonConverter.VectorConverterTests - 58/58 - Passed in 1.006s
    • Vector2_Down - Passed in 0.019s
    • Vector2_LargeValues - Passed in 0.017s
    • Vector2_Left - Passed in 0.016s
    • Vector2_MixedInfinityAndNaN - Passed in 0.017s
    • Vector2_NaN - Passed in 0.016s
    • Vector2_NegativeInfinity - Passed in 0.017s
    • Vector2_NegativeValues - Passed in 0.017s
    • Vector2_One - Passed in 0.017s
    • Vector2_PositiveInfinity - Passed in 0.017s
    • Vector2_Right - Passed in 0.017s
    • Vector2_SmallValues - Passed in 0.017s
    • Vector2_Up - Passed in 0.018s
    • Vector2_Zero - Passed in 0.017s
    • Vector2Int_CustomValues - Passed in 0.021s
    • Vector2Int_Down - Passed in 0.018s
    • Vector2Int_LargeValues - Passed in 0.016s
    • Vector2Int_Left - Passed in 0.018s
    • Vector2Int_NegativeValues - Passed in 0.017s
    • Vector2Int_One - Passed in 0.017s
    • Vector2Int_Right - Passed in 0.018s
    • Vector2Int_Up - Passed in 0.018s
    • Vector2Int_Zero - Passed in 0.018s
    • Vector3_Back - Passed in 0.018s
    • Vector3_Down - Passed in 0.017s
    • Vector3_Forward - Passed in 0.017s
    • Vector3_LargeValues - Passed in 0.017s
    • Vector3_Left - Passed in 0.017s
    • Vector3_MixedInfinityAndNaN - Passed in 0.017s
    • Vector3_NaN - Passed in 0.017s
    • Vector3_NegativeInfinity - Passed in 0.017s
    • Vector3_NegativeValues - Passed in 0.017s
    • Vector3_One - Passed in 0.017s
    • Vector3_PositiveInfinity - Passed in 0.017s
    • Vector3_Right - Passed in 0.016s
    • Vector3_SmallValues - Passed in 0.017s
    • Vector3_Up - Passed in 0.017s
    • Vector3_Zero - Passed in 0.017s
    • Vector3Int_Back - Passed in 0.020s
    • Vector3Int_CustomValues - Passed in 0.017s
    • Vector3Int_Down - Passed in 0.017s
    • Vector3Int_Forward - Passed in 0.017s
    • Vector3Int_LargeValues - Passed in 0.017s
    • Vector3Int_Left - Passed in 0.017s
    • Vector3Int_NegativeValues - Passed in 0.017s
    • Vector3Int_One - Passed in 0.017s
    • Vector3Int_Right - Passed in 0.017s
    • Vector3Int_Up - Passed in 0.016s
    • Vector3Int_Zero - Passed in 0.017s
    • Vector4_CustomValues - Passed in 0.020s
    • Vector4_LargeValues - Passed in 0.017s
    • Vector4_MixedInfinityAndNaN - Passed in 0.017s
    • Vector4_NaN - Passed in 0.017s
    • Vector4_NegativeInfinity - Passed in 0.017s
    • Vector4_NegativeValues - Passed in 0.017s
    • Vector4_One - Passed in 0.017s
    • Vector4_PositiveInfinity - Passed in 0.017s
    • Vector4_SmallValues - Passed in 0.017s
    • Vector4_Zero - Passed in 0.016s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.MainWindowEditorClientConfigureTests - 11/11 - Passed in 0.265s
    • ConfigureMcpClient_DeepNestedBodyPath_CreatesFullStructure - Passed in 0.038s
    • ConfigureMcpClient_EmptyExistingFile_CreatesNewStructure - Passed in 0.026s
    • ConfigureMcpClient_ExistingFileNestedStructure_PreservesContent - Passed in 0.023s
    • ConfigureMcpClient_ExistingFileSimpleStructure_PreservesContent - Passed in 0.023s
    • ConfigureMcpClient_ExistingFileWithDuplicateCommand_ReplacesEntry - Passed in 0.023s
    • ConfigureMcpClient_InvalidJsonFile_ReplacesWithNewConfig - Passed in 0.022s
    • ConfigureMcpClient_NestedBodyPath_CreatesCorrectStructure - Passed in 0.022s
    • ConfigureMcpClient_SimpleBodyPath_CreatesCorrectStructure - Passed in 0.022s
    • IsMcpClientConfigured_NestedBodyPath_DetectsCorrectly - Passed in 0.022s
    • IsMcpClientConfigured_NonExistentPath_ReturnsFalse - Passed in 0.022s
    • IsMcpClientConfigured_SimpleBodyPath_DetectsCorrectly - Passed in 0.022s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.McpPluginTests - 6/6 - Passed in 0.208s
    • McpPlugin_DoAlways_ShouldExecuteCallbackMultipleTimes - Passed in 0.088s
    • McpPlugin_DoAlways_WithNullCallback_ShouldNotThrow - Passed in 0.007s
    • McpPlugin_DoOnce_ShouldExecuteCallbackOnce - Passed in 0.092s
    • McpPlugin_DoOnce_WithNullCallback_ShouldNotThrow - Passed in 0.007s
    • McpPlugin_Instance_ShouldHaveValidMcpRunner - Passed in 0.006s
    • McpPlugin_Instance_ShouldNotBeNull_WhenInitialized - Passed in 0.007s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.ObjectGetDataTests - 15/15 - Passed in 0.308s
    • GetData_AudioSource_ReturnsSerializedData - Passed in 0.026s
    • GetData_BoxCollider_ReturnsSerializedData - Passed in 0.017s
    • GetData_Camera_ReturnsSerializedData - Passed in 0.069s
    • GetData_ChildGameObject_ReturnsSerializedData - Passed in 0.012s
    • GetData_DestroyedGameObject_ThrowsException - Passed in 0.007s
    • GetData_GameObjectWithPosition_ReturnsSerializedData - Passed in 0.007s
    • GetData_InactiveGameObject_ReturnsSerializedData - Passed in 0.007s
    • GetData_InvalidObjectRef_ZeroInstanceID_ThrowsArgumentException - Passed in 0.007s
    • GetData_Light_ReturnsSerializedData - Passed in 0.040s
    • GetData_Material_ReturnsSerializedData - Passed in 0.008s
    • GetData_MeshRenderer_ReturnsSerializedData - Passed in 0.042s
    • GetData_NonExistentInstanceID_ThrowsException - Passed in 0.007s
    • GetData_Rigidbody_ReturnsSerializedData - Passed in 0.025s
    • GetData_ValidComponent_ReturnsSerializedData - Passed in 0.027s
    • GetData_ValidGameObject_ReturnsSerializedData - Passed in 0.008s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.ObjectModifyTests - 4/4 - Passed in 0.786s
    • Modify_InvalidObjectRef_ThrowsException - Passed in 0.007s
    • Modify_NullDiff_ThrowsArgumentNullException - Passed in 0.006s
    • Modify_RenameGameObject_Success - Passed in 0.381s
    • Modify_TransformPosition_Success - Passed in 0.391s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.RefTypes.AssetObjectRefTests - 1/1 - Passed in 0.009s
    • InstanceID_Description_Includes_All_Relevant_Props - Passed in 0.009s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.RefTypes.GameObjectRefTests - 1/1 - Passed in 0.010s
    • InstanceID_Description_Includes_All_Relevant_Props - Passed in 0.010s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.RefTypes.ObjectRefTests - 1/1 - Passed in 0.007s
    • InstanceID_Description_Includes_All_Relevant_Props - Passed in 0.007s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.RunToolStructuredContentTests - 19/19 - Passed in 0.266s
    • RunTool_ReturnsArray_ShouldReturnStructuredContent - Passed in 0.021s
    • RunTool_ReturnsBool_ShouldReturnAsStringWithoutStructuredContent - Passed in 0.013s
    • RunTool_ReturnsColor_ShouldReturnStructuredContent - Passed in 0.013s
    • RunTool_ReturnsCustomClass_ShouldReturnStructuredContent - Passed in 0.024s
    • RunTool_ReturnsDictionary_ShouldReturnStructuredContent - Passed in 0.026s
    • RunTool_ReturnsDictionaryWithComplexValues_ShouldReturnStructuredContent - Passed in 0.023s
    • RunTool_ReturnsEnum_ShouldReturnAsStringWithoutStructuredContent - Passed in 0.012s
    • RunTool_ReturnsFloat_ShouldReturnAsStringWithoutStructuredContent - Passed in 0.009s
    • RunTool_ReturnsInt_ShouldReturnAsStringWithoutStructuredContent - Passed in 0.009s
    • RunTool_ReturnsList_ShouldReturnStructuredContent - Passed in 0.012s
    • RunTool_ReturnsListOfCustomObjects_ShouldReturnStructuredContent - Passed in 0.015s
    • RunTool_ReturnsMicrosoftLogLevel_ShouldReturnAsStringWithoutStructuredContent - Passed in 0.014s
    • RunTool_ReturnsNestedClass_ShouldReturnStructuredContent - Passed in 0.009s
    • RunTool_ReturnsNull_ShouldReturnSuccessWithNullMessage - Passed in 0.007s
    • RunTool_ReturnsQuaternion_ShouldReturnStructuredContent - Passed in 0.007s
    • RunTool_ReturnsResponseCallTool_ShouldPassThroughDirectly - Passed in 0.007s
    • RunTool_ReturnsString_ShouldReturnAsStringWithoutStructuredContent - Passed in 0.010s
    • RunTool_ReturnsVector3_ShouldReturnStructuredContent - Passed in 0.007s
    • RunTool_StructuredContent_ShouldBeValidJson - Passed in 0.029s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.RunToolTests - 10/10 - Passed in 0.189s
    • RunTool_Constructor_WithNullMethodInfo_ShouldThrow - Passed in 0.029s
    • RunTool_Constructor_WithNullName_ShouldThrow - Passed in 0.004s
    • RunTool_CreateFromInstanceMethod_ShouldInitializeCorrectly - Passed in 0.004s
    • RunTool_CreateFromStaticMethod_ShouldInitializeCorrectly - Passed in 0.003s
    • RunTool_Run_WithAsyncMethod_ShouldReturnCorrectly - Passed in 0.111s
    • RunTool_Run_WithException_ShouldReturnError - Passed in 0.011s
    • RunTool_Run_WithNamedParameters_ShouldReturnSuccess - Passed in 0.007s
    • RunTool_Run_WithNullParameters_ShouldHandleGracefully - Passed in 0.007s
    • RunTool_Run_WithRequestIDInjection_ShouldInjectCorrectly - Passed in 0.007s
    • RunTool_Run_WithValidParameters_ShouldReturnSuccess - Passed in 0.006s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.ScriptExecuteTests - 2/2 - Passed in 2.937s
    • Script_Execute_DisablesGameObject - Passed in 2.073s
    • Script_Execute_EnablesGameObject - Passed in 0.864s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.SpriteConverterTest - 1/1 - Passed in 0.521s
    • TestSpritePopulation - Passed in 0.521s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.StartupVersionTest - 1/1 - Passed in 0.467s
    • Version_Should_Match_PackageJson_Version - Passed in 0.467s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.StructPopulationTests - 6/6 - Passed in 0.289s
    • Populate_ColorField_PartialUpdate_PreservesUnspecifiedValues - Passed in 0.186s
    • Populate_CustomStruct_PartialUpdate_PreservesUnspecifiedValues - Passed in 0.017s
    • Populate_MultipleStructFields_PartialUpdate_PreservesUnspecifiedValues - Passed in 0.017s
    • Populate_NestedStruct_PartialUpdate_PreservesUnspecifiedValues - Passed in 0.017s
    • Populate_StructField_FullReplacement_Works - Passed in 0.034s
    • Populate_Vector3Field_PartialUpdate_PreservesUnspecifiedValues - Passed in 0.017s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestGameObjectUtils - 2/2 - Passed in 0.035s
    • FindByPath - Passed in 0.018s
    • GetPath - Passed in 0.018s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestInfrastructureValidation - 3/3 - Passed in 0.008s
    • TestInfrastructure_BasicAssertion_ShouldPass - Passed in 0.003s
    • TestInfrastructure_CanAccessCommonNamespace_ShouldPass - Passed in 0.003s
    • TestInfrastructure_MockClassesWork_ShouldPass - Passed in 0.003s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestJsonSchema - 6/6 - Passed in 0.501s
    • Classes - Passed in 0.051s
    • MCP_Tools - Passed in 0.082s
    • Primitives - Passed in 0.017s
    • Structs - Passed in 0.017s
    • Unity - Passed in 0.303s
    • UnityStructs - Passed in 0.031s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestJsonSerialize - 6/6 - Passed in 0.133s
    • Classes - Passed in 0.017s
    • Primitives - Passed in 0.021s
    • Structs - Passed in 0.032s
    • UnityAsset - Passed in 0.016s
    • UnityComponent - Passed in 0.017s
    • UnityStructs - Passed in 0.031s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestLogUtils - 15/15 - Passed in 0.468s
    • BufferedFileLogStorage_MaxFileSizeMB_PassedToBase - Passed in 0.009s
    • ClearLogs_RemovesAllLogs - Passed in 0.026s
    • FileLogStorage_MaxFileSizeMB_CustomValue - Passed in 0.008s
    • FileLogStorage_MaxFileSizeMB_DefaultValue - Passed in 0.008s
    • FileLogStorage_MaxFileSizeMB_ThrowsOnInvalidValue - Passed in 0.007s
    • FileLogStorage_ResetLogFile_ResetsWhenLimitReached - Passed in 0.083s
    • SaveToFile_LoadFromFile_HandlesEmptyLogs - Passed in 0.017s
    • SaveToFile_LoadFromFile_HandlesLargeMessages - Passed in 0.020s
    • SaveToFile_LoadFromFile_MultipleSaveCycles - Passed in 0.175s
    • SaveToFile_LoadFromFile_PreservesAllLogTypes - Passed in 0.021s
    • SaveToFile_LoadFromFile_PreservesLogOrder - Passed in 0.022s
    • SaveToFile_LoadFromFile_PreservesSpecialCharacters - Passed in 0.022s
    • SaveToFile_LoadFromFile_PreservesStackTraces - Passed in 0.021s
    • SaveToFile_LoadFromFile_PreservesTimestamps - Passed in 0.021s
    • SaveToFileImmediate_WritesSynchronously - Passed in 0.008s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestSerializer - 4/4 - Passed in 0.609s
    • RS_SerializersOrder - Passed in 0.060s
    • Serialize_Deserialize - Passed in 0.120s
    • SerializeMaterial - Passed in 0.414s
    • SerializeMaterialArray - Passed in 0.016s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestStringUtils - 1/1 - Passed in 0.017s
    • Path_ParseParent - Passed in 0.017s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestToolConsole - 17/17 - Passed in 1.427s
    • ConsoleLogEntry_AssertType_CreatesCorrectly - Passed in 0.008s
    • ConsoleLogEntry_CreatesCorrectly - Passed in 0.007s
    • ConsoleLogEntry_ErrorType_CreatesCorrectly - Passed in 0.007s
    • ConsoleLogEntry_ToString_FormatsCorrectly - Passed in 0.007s
    • Error_InvalidLogTypeFilter_ReturnsCorrectMessage - Passed in 0.007s
    • Error_InvalidMaxEntries_ReturnsCorrectMessage - Passed in 0.007s
    • GetLogs_AllLogTypes_HandlesCorrectly - Passed in 0.355s
    • GetLogs_AssertLogTypeFilter_HandlesCorrectly - Passed in 0.188s
    • GetLogs_CombinedFilters_WorksTogether - Passed in 0.026s
    • GetLogs_DefaultParameters_ReturnsLogs - Passed in 0.031s
    • GetLogs_ErrorLogTypeFilter_HandlesCorrectly - Passed in 0.180s
    • GetLogs_NoMatchingLogs_ReturnsNoLogsMessage - Passed in 0.168s
    • GetLogs_WithIncludeStackTrace_IncludesStackTraces - Passed in 0.182s
    • GetLogs_WithInvalidMaxEntries_ReturnsError - Passed in 0.011s
    • GetLogs_WithLogTypeFilter_FiltersCorrectly - Passed in 0.195s
    • GetLogs_WithMaxEntries_LimitsResults - Passed in 0.024s
    • GetLogs_WithTimeFilter_FiltersCorrectly - Passed in 0.025s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestToolConsoleIntegration - 6/6 - Passed in 0.977s
    • GetLogs_CapturesRealTimeLogs_Correctly - Passed in 0.524s
    • GetLogs_MaxEntriesParameterDescription_EndsWithMax - Passed in 0.008s
    • GetLogs_MemoryManagement_LimitsEntries - Passed in 0.375s
    • GetLogs_ThreadSafety_HandlesMultipleAccess - Passed in 0.010s
    • GetLogs_Validate_LogCount - Passed in 0.025s
    • GetLogs_WithTimeFilter_FiltersTimeCorrectly - Passed in 0.035s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestToolGameObject - 42/42 - Passed in 7.743s
    • ComponentListAll_CaseInsensitiveSearch_Works - Passed in 0.274s
    • ComponentListAll_CustomPageSize_ReturnsCorrectCount - Passed in 0.069s
    • ComponentListAll_DefaultPagination_ReturnsFirstPage - Passed in 0.069s
    • ComponentListAll_NegativePage_ClampedToZero - Passed in 0.069s
    • ComponentListAll_NoMatchingSearch_ReturnsEmptyWithZeroTotal - Passed in 0.069s
    • ComponentListAll_PageBeyondTotal_ReturnsEmptyItems - Passed in 0.124s
    • ComponentListAll_PageSizeTooLarge_ClampedToMax - Passed in 0.069s
    • ComponentListAll_PageSizeTooSmall_ClampedToOne - Passed in 0.071s
    • ComponentListAll_ResultContainsKnownComponents - Passed in 0.070s
    • ComponentListAll_SearchFilter_ReturnsFilteredResults - Passed in 0.072s
    • ComponentListAll_SearchWithPagination_WorksTogether - Passed in 0.070s
    • ComponentListAll_SecondPage_ReturnsDifferentItems - Passed in 0.125s
    • ComponentListAll_TotalPagesCalculation_IsCorrect - Passed in 0.069s
    • CreateGameObject_Default - Passed in 0.387s
    • CreateGameObject_ExplicitDefaultTransform - Passed in 0.394s
    • CreateGameObject_ExplicitTransform - Passed in 0.380s
    • FindByInstanceId - Passed in 0.010s
    • FindByInstanceId_ActiveGameObject - Passed in 0.379s
    • FindByInstanceId_DeepSerialization_False - Passed in 0.007s
    • FindByInstanceId_DeepSerialization_ProducesMoreDataThanShallow - Passed in 0.014s
    • FindByInstanceId_HierarchyDepth_1_DeepSerialization_True - Passed in 0.007s
    • FindByInstanceId_InactiveGameObject - Passed in 0.373s
    • FindByInstanceId_NonExistent_ThrowsException - Passed in 0.007s
    • FindByJson_HierarchyDepth_0_DeepSerialization_False - Passed in 0.007s
    • FindByJson_HierarchyDepth_0_DeepSerialization_True - Passed in 0.007s
    • FindByJson_HierarchyDepth_0_DefaultSerialization - Passed in 0.010s
    • FindByName - Passed in 0.007s
    • FindByName_ActiveGameObject - Passed in 0.381s
    • FindByName_InactiveGameObject - Passed in 0.379s
    • FindByName_NonExistent_ThrowsException - Passed in 0.007s
    • FindByPath - Passed in 0.007s
    • FindByPath_ActiveGameObject_NestedHierarchy - Passed in 0.380s
    • FindByPath_InactiveGameObject_NestedHierarchy - Passed in 0.381s
    • FindByPath_NonExistent_ThrowsException - Passed in 0.007s
    • GetComponents - Passed in 0.017s
    • GetComponentsStringified - Passed in 0.017s
    • ModifyComponent_Material - Passed in 0.399s
    • ModifyComponent_Vector3 - Passed in 0.399s
    • ModifyJson_SolarSystem_PlanetsArray - Passed in 0.775s
    • ModifyJson_SolarSystem_Sun_NameComponent - Passed in 0.389s
    • ModifyJson_SolarSystem_Sun_NameIndex - Passed in 0.390s
    • SetMaterial - Passed in 0.607s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.TestToolReflection - 8/8 - Passed in 1.097s
    • MethodCall_UnityEditor_Build_NamedBuildTarget_get_TargetName - Passed in 0.109s
    • MethodCall_UnityEditor_EditorUserBuildSettings_get_activeBuildTarget - Passed in 0.097s
    • MethodCall_UnityEngine_Application_get_platform - Passed in 0.274s
    • MethodCall_UnityEngine_GameObject_GetComponent_Transform - Passed in 0.109s
    • MethodCall_UnityEngine_GameObject_SetActive_ReturnsVoid - Passed in 0.107s
    • MethodCall_UnityEngine_Transform_LookAt - Passed in 0.207s
    • MethodFind_Transform - Passed in 0.105s
    • MethodFind_UnityEditor_Build_NamedBuildTarget_TargetName - Passed in 0.088s
  • ✅ com.IvanMurzak.Unity.MCP.Editor.Tests.UpdateCheckerTests - 37/37 - Passed in 0.115s
    • ClearPreferences_DoesNotThrow - Passed in 0.004s
    • ClearPreferences_ResetsDoNotShowAgain - Passed in 0.003s
    • CompareVersions_DifferentLengths_ComparesCorrectly - Passed in 0.003s
    • CompareVersions_Equal_ReturnsZero - Passed in 0.003s
    • CompareVersions_FirstGreater_ReturnsPositive - Passed in 0.003s
    • CompareVersions_NonNumericParts_HandledGracefully - Passed in 0.003s
    • CompareVersions_SecondGreater_ReturnsNegative - Passed in 0.003s
    • IsDoNotShowAgain_DefaultValue_IsFalse - Passed in 0.003s
    • IsDoNotShowAgain_SetFalse_ReturnsFalse - Passed in 0.003s
    • IsDoNotShowAgain_SetTrue_ReturnsTrue - Passed in 0.003s
    • IsNewerVersion_EmptyStrings_HandledGracefully - Passed in 0.003s
    • IsNewerVersion_LargeVersionNumbers_ReturnsTrue - Passed in 0.003s
    • IsNewerVersion_MixedVersionLengths_ReturnsFalse - Passed in 0.003s
    • IsNewerVersion_MixedVersionLengths_ReturnsTrue - Passed in 0.003s
    • IsNewerVersion_NewerMajorVersion_ReturnsTrue - Passed in 0.003s
    • IsNewerVersion_NewerMinorVersion_ReturnsTrue - Passed in 0.003s
    • IsNewerVersion_NewerPatchVersion_ReturnsTrue - Passed in 0.003s
    • IsNewerVersion_OlderVersion_ReturnsFalse - Passed in 0.003s
    • IsNewerVersion_SameVersion_ReturnsFalse - Passed in 0.003s
    • IsNewerVersion_TwoPartVersion_ReturnsTrue - Passed in 0.003s
    • ParseLatestVersionFromJson_ComplexGitHubResponse_ParsesCorrectly - Passed in 0.003s
    • ParseLatestVersionFromJson_EmptyArray_ReturnsNull - Passed in 0.003s
    • ParseLatestVersionFromJson_EmptyString_ReturnsNull - Passed in 0.003s
    • ParseLatestVersionFromJson_MalformedJson_ReturnsNull - Passed in 0.003s
    • ParseLatestVersionFromJson_MixedValidInvalid_ReturnsLatestValid - Passed in 0.003s
    • ParseLatestVersionFromJson_NoValidVersions_ReturnsNull - Passed in 0.003s
    • ParseLatestVersionFromJson_SingleTag_ReturnsVersion - Passed in 0.003s
    • ParseLatestVersionFromJson_TwoPartVersions_ParsesCorrectly - Passed in 0.003s
    • ParseLatestVersionFromJson_UnorderedTags_ReturnsLatest - Passed in 0.003s
    • ParseLatestVersionFromJson_UppercaseVPrefix_ParsesCorrectly - Passed in 0.003s
    • ParseLatestVersionFromJson_ValidJson_ReturnsLatestVersion - Passed in 0.003s
    • ParseLatestVersionFromJson_WithoutVPrefix_ParsesCorrectly - Passed in 0.003s
    • ReleasesUrl_ReturnsValidGitHubUrl - Passed in 0.003s
    • ShouldCheckForUpdates_AfterClearPreferences_ReturnsTrue - Passed in 0.003s
    • ShouldCheckForUpdates_DefaultState_ReturnsTrue - Passed in 0.003s
    • ShouldCheckForUpdates_DoNotShowAgainTrue_ReturnsFalse - Passed in 0.003s
    • SkipVersion_StoresVersion - Passed in 0.005s
  • ✅ com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.TestToolParticleSystemGet - 14/14 - Passed in 0.673s
    • Get_IncludeAll_ReturnsAllModules - Passed in 0.392s
    • Get_IncludeColorOverLifetime_ReturnsColorModule - Passed in 0.016s
    • Get_IncludeEmission_ReturnsEmissionModule - Passed in 0.018s
    • Get_IncludeNoise_ReturnsNoiseModule - Passed in 0.018s
    • Get_IncludeRenderer_ReturnsRendererModule - Passed in 0.018s
    • Get_IncludeShape_ReturnsShapeModule - Passed in 0.017s
    • Get_ReturnsParticleSystemState - Passed in 0.017s
    • Get_WithInstanceID_ReturnsMainModule - Passed in 0.017s
    • Get_WithName_ReturnsMainModule - Passed in 0.017s
    • Get_WithPath_ReturnsMainModule - Passed in 0.016s
    • GetJson_IncludeAll - Passed in 0.064s
    • GetJson_IncludeMultipleModules - Passed in 0.023s
    • GetJson_WithInstanceID_ReturnsMainModule - Passed in 0.020s
    • GetJson_WithPath_ReturnsMainModule - Passed in 0.020s
  • ✅ com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.TestToolParticleSystemModify - 17/17 - Passed in 6.659s
    • Modify_EmissionModule_Enabled - Passed in 0.414s
    • Modify_MainModule_Duration - Passed in 0.413s
    • Modify_MainModule_Loop - Passed in 0.379s
    • Modify_MainModule_MaxParticles - Passed in 0.380s
    • Modify_MultipleModules - Passed in 0.428s
    • Modify_NoiseModule_Enabled - Passed in 0.382s
    • Modify_ReturnsLogs - Passed in 0.385s
    • Modify_ShapeModule_Enabled - Passed in 0.382s
    • Modify_ShapeModule_Radius - Passed in 0.389s
    • Modify_TrailsModule_Enabled - Passed in 0.413s
    • Modify_WithPath_Works - Passed in 0.381s
    • ModifyJson_MainModule_Duration - Passed in 0.383s
    • ModifyJson_MainModule_MaxParticles - Passed in 0.381s
    • ModifyJson_MultipleModules - Passed in 0.381s
    • ModifyJson_NoiseModule_Enable - Passed in 0.388s
    • ModifyJson_ShapeModule_Radius - Passed in 0.399s
    • ModifyJson_WithPath - Passed in 0.381s
  • ✅ NewTestScript - 2/2 - Passed in 0.012s
    • NewTestScriptSimplePasses - Passed in 0.003s
    • NewTestScriptWithEnumeratorPasses - Passed in 0.009s
  • ✅ Extensions.Unity.PlayerPrefsEx.Editor.Tests.TestEncryptedStaticAPI - 4/4 - Passed in 0.036s
    • EncryptedDefaultValue - Passed in 0.014s
    • EncryptedInputOutputValuesAreEqual - Passed in 0.015s
    • EncryptedSameKeyDifferentTypes - Passed in 0.004s
    • EncryptedValueIsNotPlainText - Passed in 0.003s
  • ✅ Extensions.Unity.PlayerPrefsEx.Editor.Tests.TestEncryptedVariablesAPI - 12/12 - Passed in 0.041s
    • EncryptedNonSharedValueBetweenSameKeyDifferentTypes - Passed in 0.005s
    • EncryptedSharedValueBetweenVariablesBigInt - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesBool - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesDateTime - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesFloat - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesInt - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesString - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesVector2 - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesVector2Int - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesVector3 - Passed in 0.003s
    • EncryptedSharedValueBetweenVariablesVector3Int - Passed in 0.003s
    • EncryptedVariableValueIsNotPlainText - Passed in 0.003s
  • ✅ Extensions.Unity.PlayerPrefsEx.Editor.Tests.TestStaticAndVariablesAPIs - 11/11 - Passed in 0.042s
    • SharedValueBetweenVariablesAndStaticAPIs - Passed in 0.014s
    • SharedValueBetweenVariablesAndStaticAPIsBigInt - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsBool - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsDateTime - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsFloat - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsInt - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsString - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector2 - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector2Int - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector3 - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector3Int - Passed in 0.003s
  • ✅ Extensions.Unity.PlayerPrefsEx.Editor.Tests.TestStaticAPI - 3/3 - Passed in 0.010s
    • DefaultValue - Passed in 0.003s
    • InputOutputValuesAreEqual - Passed in 0.003s
    • SameKeyDifferentTypes - Passed in 0.003s
  • ✅ Extensions.Unity.PlayerPrefsEx.Editor.Tests.TestVariablesAPI - 11/11 - Passed in 0.032s
    • NonSharedValueBetweenSameKeyDifferentTypes - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsBigInt - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsBool - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsDateTime - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsFloat - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsInt - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsString - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector2 - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector2Int - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector3 - Passed in 0.003s
    • SharedValueBetweenVariablesAndStaticAPIsVector3Int - Passed in 0.003s