Skip to main content
Glama
Singtaa
by Singtaa
SceneToolsTests.cs2.82 kB
using Newtonsoft.Json.Linq; using NUnit.Framework; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.SceneManagement; namespace UnityMcp.Tests { [TestFixture] public class SceneToolsTests { [SetUp] public void SetUp() { EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single); } [Test] public void List_ReturnsLoadedScenes() { var args = new JObject(); var result = Tools_Scene.List(args); Assert.IsFalse(result.isError); var scenes = JArray.Parse(result.content[0].text); Assert.GreaterOrEqual(scenes.Count, 1); } [Test] public void List_IncludesSceneProperties() { var args = new JObject(); var result = Tools_Scene.List(args); Assert.IsFalse(result.isError); var scenes = JArray.Parse(result.content[0].text); var scene = scenes[0]; Assert.IsNotNull(scene["name"]); Assert.IsNotNull(scene["isLoaded"]); Assert.IsNotNull(scene["isDirty"]); } [Test] public void New_CreatesEmptyScene() { var args = new JObject { ["setup"] = "empty" }; var result = Tools_Scene.New(args); Assert.IsFalse(result.isError); var json = JObject.Parse(result.content[0].text); Assert.IsTrue((bool)json["isLoaded"]); } [Test] public void New_CreatesDefaultScene() { var args = new JObject { ["setup"] = "default" }; var result = Tools_Scene.New(args); Assert.IsFalse(result.isError); var json = JObject.Parse(result.content[0].text); Assert.IsTrue((bool)json["isLoaded"]); // Default scene should have a camera and light var camera = Object.FindFirstObjectByType<Camera>(); Assert.IsNotNull(camera); } [Test] public void Close_NonExistentScene_ReturnsError() { var args = new JObject { ["scene"] = "NonExistentScene" }; var result = Tools_Scene.Close(args); Assert.IsTrue(result.isError); Assert.That(result.content[0].text, Does.Contain("not found")); } [Test] public void Save_AllScenes_Succeeds() { // Create a new scene so we have something to save EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single); new GameObject("TestObject"); // Mark as dirty var args = new JObject(); var result = Tools_Scene.Save(args); // This may fail if scene isn't saved to disk yet, which is expected Assert.IsNotNull(result); } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Singtaa/UnityMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server