Files
BracerLib/Assets/Scripts/Tests/Objects/ObjectMockTests.cs
T

56 lines
1.1 KiB
C#
Raw Normal View History

2026-06-02 18:57:47 -04:00
using System.Collections;
using Moq;
using NUnit.Framework;
using UnityEngine;
namespace BracerLib.Tests.Objects
{
public interface ITester
{
void Test();
}
public class Tester : ITester
{
public void Test() {}
}
public class MockComponent : MonoBehaviour
{
private ITester tester;
public void DoTest()
{
tester.Test();
}
}
public class ObjectMockTests : TestBase
{
private MockComponent mockComponent;
private Mock<ITester> testerMock;
protected override IEnumerator UnityOneTimeSetUp()
{
testerMock = new Mock<ITester>();
var go = new GameObject("mock test obj");
mockComponent = go.AddComponent<MockComponent>();
RegisterOneTimeTestObject(go);
SetReflectedValue(mockComponent, "tester", testerMock.Object);
yield return null;
}
[Test]
public void TestMock()
{
testerMock.Setup(x => x.Test());
mockComponent.DoTest();
testerMock.Verify(x => x.Test(), Times.Once);
}
}
}