mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-09-15 14:52:35 +02:00
* 2 warnings in JointDeletion_Test * 1 warning in Collision_Test * 2 warnings in Color_Test (deleted test of deprecated HCY color space) * 1 warning in MapVelocity_Test * 2 warnings in MapManager_Tests * 2 warnings in MapPauseTests * 1 warning in NetDisconnectMessageTest * 1 warning in ContainerTests * Suppress 1 warning in EntityEventBusTests.ComponentEvent * 4 warnings in MapGridMap_Tests * 1 warning in GridDeletion_Test * Remove TryGetContainingContainer foolishness --------- Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
114 lines
3.7 KiB
C#
114 lines
3.7 KiB
C#
using NUnit.Framework;
|
|
using Robust.Shared.Network;
|
|
|
|
namespace Robust.UnitTesting.Shared.Networking;
|
|
|
|
[TestFixture]
|
|
[Parallelizable(ParallelScope.All)]
|
|
[TestOf(typeof(NetDisconnectMessage))]
|
|
internal sealed class NetDisconnectMessageTest
|
|
{
|
|
[Test]
|
|
[TestCase("Disconnected: bye", "Disconnected: bye", NetDisconnectMessage.DefaultRedialFlag)]
|
|
[TestCase("Disconnected: {\"reason\": \"bye\"}", "bye", NetDisconnectMessage.DefaultRedialFlag)]
|
|
[TestCase("Disconnected: {}", NetDisconnectMessage.DefaultReason, NetDisconnectMessage.DefaultRedialFlag)]
|
|
[TestCase("Disconnected: {\"redial\": true}", NetDisconnectMessage.DefaultReason, true)]
|
|
[TestCase("Disconnected: {\"redial\": true, \"foobar\": 5}", NetDisconnectMessage.DefaultReason, true)]
|
|
[TestCase("Disconnected: {\"redial\": true, \"foobar\": 5, \"reason\": \"asdf\"}", "asdf", true)]
|
|
[TestCase("Disconnected: {", "Disconnected: {", NetDisconnectMessage.DefaultRedialFlag)]
|
|
[TestCase("Disconnected: {\"a\":[]}", NetDisconnectMessage.DefaultReason, NetDisconnectMessage.DefaultRedialFlag)]
|
|
[TestCase("{\"redial\": true, \"foobar\": 5, \"reason\": \"asdf\"}", "asdf", true)]
|
|
public void TestBasicDecode(string encoded, string reasonExpected, bool redialExpected)
|
|
{
|
|
var parsed = NetDisconnectMessage.Decode(encoded);
|
|
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(parsed.Reason, Is.EqualTo(reasonExpected));
|
|
Assert.That(parsed.RedialFlag, Is.EqualTo(redialExpected));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TestEncode()
|
|
{
|
|
var value = new NetDisconnectMessage("foobar", true)
|
|
{
|
|
Values =
|
|
{
|
|
["asdf"] = 20.5f
|
|
}
|
|
};
|
|
|
|
var encoded = value.Encode();
|
|
TestContext.Out.Write($"Encoded: {encoded}\n");
|
|
var decodedAgain = NetDisconnectMessage.Decode(encoded);
|
|
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(decodedAgain.Reason, Is.EqualTo("foobar"));
|
|
Assert.That(decodedAgain.RedialFlag, Is.EqualTo(true));
|
|
Assert.That(decodedAgain.SingleOf("asdf"), Is.EqualTo(20.5f));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TestDefaultConstructor()
|
|
{
|
|
var value = new NetDisconnectMessage("foobar");
|
|
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(value.Reason, Is.EqualTo("foobar"));
|
|
Assert.That(value.RedialFlag, Is.EqualTo(false));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TestValueOfInt()
|
|
{
|
|
var parsed = NetDisconnectMessage.Decode("{\"foobar\": 5}");
|
|
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(parsed.Int32Of("foobar"), Is.EqualTo(5));
|
|
Assert.That(parsed.Int32Of("asdf"), Is.Null);
|
|
Assert.That(parsed.Int32Of("asdf", 7), Is.EqualTo(7));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TestValueOfFloat()
|
|
{
|
|
var parsed = NetDisconnectMessage.Decode("{\"foobar\": 5.5}");
|
|
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(parsed.SingleOf("foobar"), Is.EqualTo(5.5f));
|
|
Assert.That(parsed.SingleOf("asdf"), Is.Null);
|
|
Assert.That(parsed.SingleOf("asdf", 7), Is.EqualTo(7f));
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void TestValueOfFloatInt()
|
|
{
|
|
var parsed = NetDisconnectMessage.Decode("{\"foobar\": 5}");
|
|
|
|
Assert.That(parsed.SingleOf("foobar"), Is.EqualTo(5f));
|
|
}
|
|
|
|
[Test]
|
|
public void TestValueOfString()
|
|
{
|
|
var parsed = NetDisconnectMessage.Decode("{\"foobar\": \"real\"}");
|
|
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(parsed.StringOf("foobar"), Is.EqualTo("real"));
|
|
Assert.That(parsed.StringOf("asdf"), Is.Null);
|
|
Assert.That(parsed.StringOf("asdf", "honk"), Is.EqualTo("honk"));
|
|
});
|
|
}
|
|
}
|