Files
2026-07-13 12:49:17 +08:00

46 lines
1.5 KiB
C#

using System.IO;
using MCPForUnity.Editor.Clients;
using MCPForUnity.Editor.Clients.Configurators;
using NUnit.Framework;
namespace MCPForUnityTests.Editor.Clients
{
[TestFixture]
public class IsInstalledTests
{
[Test]
public void IMcpClientConfigurator_ExposesIsInstalled()
{
var prop = typeof(IMcpClientConfigurator).GetProperty("IsInstalled");
Assert.IsNotNull(prop, "IMcpClientConfigurator must expose an IsInstalled property");
Assert.AreEqual(typeof(bool), prop.PropertyType);
}
[Test]
public void JsonClient_NotInstalled_WhenParentDirMissing()
{
var cursor = new CursorConfigurator();
string parent = Path.GetDirectoryName(cursor.GetConfigPath());
if (parent == null || !Directory.Exists(parent))
{
Assert.IsFalse(cursor.IsInstalled,
"Cursor parent dir does not exist on this machine, IsInstalled must be false");
}
else
{
Assert.IsTrue(cursor.IsInstalled,
"Cursor parent dir exists, IsInstalled must be true");
}
}
[Test]
public void JsonClient_Installed_WhenParentDirExists()
{
var claude = new ClaudeDesktopConfigurator();
string parent = Path.GetDirectoryName(claude.GetConfigPath());
bool expected = parent != null && Directory.Exists(parent);
Assert.AreEqual(expected, claude.IsInstalled);
}
}
}