This commit is contained in:
2026-07-09 21:33:33 +02:00
commit 84a2a365f3
2364 changed files with 950134 additions and 0 deletions
@@ -0,0 +1,83 @@
using System.Collections.Generic;
using NUnit.Framework;
using Sirenix.Utilities;
using Test.Util;
using UnityEditor;
using UnityEngine;
using VOID.ScriptableObjects;
namespace Test.EditMode.GameData.Generic
{
public class BasicStatusTest
{
private List<BasicStatus> _statuses = new();
[OneTimeSetUp]
public void Setup()
{
AssetDatabase.FindAssets($"t:{nameof(BasicStatus)}").ForEach(guid =>
{
var path = AssetDatabase.GUIDToAssetPath(guid);
var status = AssetDatabase.LoadAssetAtPath<BasicStatus>(path);
_statuses.Add(status);
});
}
[OneTimeTearDown]
public void Cleanup()
{
_statuses.Clear();
_statuses = null;
}
[Test]
public void DisplayName_IsPresent()
{
_statuses.ForEach(status =>
{
var assetPath = AssetDatabase.GetAssetPath(status.GetInstanceID());
var assetHyperLink = DebugLogUtil.Hyperlink(assetPath);
if (status.displayName.IsNullOrWhitespace())
Debug.LogError($"ScriptableObject: {assetHyperLink} display name is empty.", status);
});
}
[Test]
public void DisplayIcon_IsPresent()
{
_statuses.ForEach(status =>
{
var assetPath = AssetDatabase.GetAssetPath(status.GetInstanceID());
var assetHyperLink = DebugLogUtil.Hyperlink(assetPath);
if (!status.displayIcon)
Debug.LogError($"ScriptableObject: {assetHyperLink} display icon is not selected.", status);
});
}
[Test]
public void Description_IsPresent()
{
_statuses.ForEach(status =>
{
var assetPath = AssetDatabase.GetAssetPath(status.GetInstanceID());
var assetHyperLink = DebugLogUtil.Hyperlink(assetPath);
if (status.description.IsNullOrWhitespace())
Debug.LogError($"ScriptableObject: {assetHyperLink} description is empty.", status);
});
}
[Test]
public void DurationInTurns_NonNegative()
{
_statuses.ForEach(status =>
{
var assetPath = AssetDatabase.GetAssetPath(status.GetInstanceID());
var assetHyperLink = DebugLogUtil.Hyperlink(assetPath);
if (status.durationInTurns < 0)
Debug.LogError($"ScriptableObject: {assetHyperLink} duration cannot be negative.", status);
});
}
}
}