Danro-Jump/Assets/Tests/EditMode/Editor/SceneIntegrityTests.cs
Danil Iarosh 77186697f8 Prepare v0.1 gameplay and hardware foundation
Подробные изменения:

- Расширен основной gameplay loop: джетпак, новые платформы, оборудование, враги, прогрессия сложности и ограничения взаимодействий игрока.

- Добавлены Bootstrap-сервисы запуска приложения, защита, фокус окна, управление курсором и настройки сервисов через DI.

- Добавлена COM-интеграция с технической схемой Input System, обработкой кнопок/ADC, подсветкой и консольной диагностикой.

- Добавлен отдельный debug/logging модуль с каналами, обработчиками консоли и файловым выводом.

- Добавлены asmdef, link.xml, EditMode/PlayMode тесты и обновлена дорожная карта проекта.

Проверки:

- dotnet build .\\DanroJump.Runtime.csproj --no-restore

- dotnet build .\\DanroJump.Tests.EditMode.csproj --no-restore

- dotnet build .\\DanroJump.Tests.PlayMode.csproj --no-restore
2026-06-08 14:22:48 +03:00

53 lines
1.7 KiB
C#

using DanroJump.Gameplay;
using DanroJump.UI.Gameplay;
using DanroJump.UI.MainMenu;
using NUnit.Framework;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.SceneManagement;
using Zenject;
namespace DanroJump.Tests.EditMode
{
public sealed class SceneIntegrityTests
{
private string originalScenePath;
[OneTimeSetUp]
public void OneTimeSetUp()
{
originalScenePath = SceneManager.GetActiveScene().path;
}
[OneTimeTearDown]
public void OneTimeTearDown()
{
if (!string.IsNullOrEmpty(originalScenePath))
{
EditorSceneManager.OpenScene(originalScenePath, OpenSceneMode.Single);
}
}
[Test]
public void MainMenuScene_HasRequiredUiAndProjectBindingsEntryPoint()
{
EditorSceneManager.OpenScene("Assets/Scenes/MainMenu.unity", OpenSceneMode.Single);
Assert.That(Object.FindAnyObjectByType<MainMenuController>(), Is.Not.Null);
Assert.That(Resources.Load<ProjectContext>("ProjectContext"), Is.Not.Null);
}
[Test]
public void GameScene_HasRequiredGameplayRoots()
{
EditorSceneManager.OpenScene("Assets/Scenes/Game.unity", OpenSceneMode.Single);
Assert.That(Object.FindAnyObjectByType<SceneContext>(), Is.Not.Null);
Assert.That(Object.FindAnyObjectByType<GameplayInstaller>(), Is.Not.Null);
Assert.That(Object.FindAnyObjectByType<JumpPlayerController>(), Is.Not.Null);
Assert.That(Object.FindAnyObjectByType<PlatformSpawner>(), Is.Not.Null);
Assert.That(Object.FindAnyObjectByType<GameplayHudController>(), Is.Not.Null);
}
}
}