72 lines
2.0 KiB
C#
72 lines
2.0 KiB
C#
using NUnit.Framework;
|
|
|
|
namespace Mirror.Tests
|
|
{
|
|
public class LocalConnectionTest : MirrorTest
|
|
{
|
|
struct TestMessage : NetworkMessage {}
|
|
|
|
LocalConnectionToClient connectionToClient;
|
|
LocalConnectionToServer connectionToServer;
|
|
|
|
[SetUp]
|
|
public override void SetUp()
|
|
{
|
|
base.SetUp();
|
|
|
|
CreateLocalConnectionPair(out connectionToClient, out connectionToServer);
|
|
|
|
// set up server/client connections so message handling works
|
|
NetworkClient.connection = connectionToServer;
|
|
NetworkServer.connections[connectionToClient.connectionId] = connectionToClient;
|
|
}
|
|
|
|
[TearDown]
|
|
public override void TearDown()
|
|
{
|
|
connectionToServer.Disconnect();
|
|
base.TearDown();
|
|
}
|
|
|
|
[Test]
|
|
public void ClientToServerTest()
|
|
{
|
|
Assert.That(connectionToClient.address, Is.EqualTo("localhost"));
|
|
|
|
bool invoked = false;
|
|
void Handler(NetworkConnection conn, TestMessage message)
|
|
{
|
|
invoked = true;
|
|
}
|
|
|
|
// set up handler on the server connection
|
|
NetworkServer.RegisterHandler<TestMessage>(Handler, false);
|
|
|
|
connectionToServer.Send(new TestMessage());
|
|
connectionToServer.Update();
|
|
|
|
Assert.True(invoked, "handler should have been invoked");
|
|
}
|
|
|
|
[Test]
|
|
public void ServerToClient()
|
|
{
|
|
Assert.That(connectionToServer.address, Is.EqualTo("localhost"));
|
|
|
|
bool invoked = false;
|
|
void Handler(TestMessage message)
|
|
{
|
|
invoked = true;
|
|
}
|
|
|
|
// set up handler on the client connection
|
|
NetworkClient.RegisterHandler<TestMessage>(Handler, false);
|
|
|
|
connectionToClient.Send(new TestMessage());
|
|
connectionToServer.Update();
|
|
|
|
Assert.True(invoked, "handler should have been invoked");
|
|
}
|
|
}
|
|
}
|