56 lines
1.1 KiB
C#
56 lines
1.1 KiB
C#
|
|
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);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|