Skip to content

Commit

Permalink
fix: removing other uses of old Notify
Browse files Browse the repository at this point in the history
  • Loading branch information
James-Frowen committed May 24, 2021
1 parent 7a90014 commit 25a0503
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 240 deletions.
12 changes: 1 addition & 11 deletions Assets/Tests/Editor/MessageInterfaceDefaultValueTests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using NSubstitute;
using NUnit.Framework;

Expand All @@ -23,15 +23,5 @@ public void SenderUsesDefaultChannelForSegement()
sender.Send(segment);
sender.Received(1).Send(segment, Channel.Reliable);
}

[Test]
public void NotifySenderUsesDefaultChannelForSegement()
{
INotifySender sender = Substitute.For<INotifySender>();
var msg = new NetworkPingMessage();
object token = new object();
sender.SendNotify(msg, token);
sender.Received(1).SendNotify(msg, token, Channel.Unreliable);
}
}
}
228 changes: 0 additions & 228 deletions Assets/Tests/Runtime/Serializers/NetworkPlayerTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,233 +112,5 @@ public void ThrowsWhenUnknownMessage()

Assert.That(exception.Message, Does.StartWith("Unexpected message ID 1234 received"));
}

#region Notify
// todo move usedful tests from below to socket layer tests
/*
private byte[] serializedMessage;
private SceneMessage data;
private NotifyPacket lastSent;
private Action<INetworkPlayer, object> delivered;
private Action<INetworkPlayer, object> lost;
private byte[] lastSerializedPacket;
void SetupNotify()
{
void ParsePacket(ArraySegment<byte> data)
{
var reader = new NetworkReader(data);
_ = MessagePacker.UnpackId(reader);
lastSent = reader.ReadNotifyPacket();
lastSerializedPacket = new byte[data.Count];
Array.Copy(data.Array, data.Offset, lastSerializedPacket, 0, data.Count);
}
mockConnection.Send(
Arg.Do<ArraySegment<byte>>(ParsePacket), Channel.Unreliable);
data = new SceneMessage();
serializedMessage = MessagePacker.Pack(new ReadyMessage());
player.RegisterHandler<ReadyMessage>(message => { });
delivered = Substitute.For<Action<INetworkPlayer, object>>();
lost = Substitute.For<Action<INetworkPlayer, object>>();
player.NotifyDelivered += delivered;
player.NotifyLost += lost;
}
[Test]
public void SendsNotifyPacket()
{
player.SendNotify(data, 1);
Assert.That(lastSent, Is.EqualTo(new NotifyPacket
{
Sequence = 0,
ReceiveSequence = ushort.MaxValue,
AckMask = 0
}));
}
[Test]
public void SendsNotifyPacketWithSequence()
{
player.SendNotify(data, 1);
Assert.That(lastSent, Is.EqualTo(new NotifyPacket
{
Sequence = 0,
ReceiveSequence = ushort.MaxValue,
AckMask = 0
}));
player.SendNotify(data, 1);
Assert.That(lastSent, Is.EqualTo(new NotifyPacket
{
Sequence = 1,
ReceiveSequence = ushort.MaxValue,
AckMask = 0
}));
player.SendNotify(data, 1);
Assert.That(lastSent, Is.EqualTo(new NotifyPacket
{
Sequence = 2,
ReceiveSequence = ushort.MaxValue,
AckMask = 0
}));
}
[Test]
public void RaisePacketDelivered()
{
player.SendNotify(data, 1);
player.SendNotify(data, 3);
player.SendNotify(data, 5);
delivered.DidNotReceiveWithAnyArgs().Invoke(default, default);
var reply = new NotifyPacket
{
Sequence = 0,
ReceiveSequence = 2,
AckMask = 0b111
};
player.ReceiveNotify(reply, new NetworkReader(serializedMessage), Channel.Unreliable);
Received.InOrder(() =>
{
delivered.Invoke(player, 1);
delivered.Invoke(player, 3);
delivered.Invoke(player, 5);
});
}
[Test]
public void RaisePacketNotDelivered()
{
player.SendNotify(data, 1);
player.SendNotify(data, 3);
player.SendNotify(data, 5);
delivered.DidNotReceiveWithAnyArgs().Invoke(default, default);
var reply = new NotifyPacket
{
Sequence = 0,
ReceiveSequence = 2,
AckMask = 0b001
};
player.ReceiveNotify(reply, new NetworkReader(serializedMessage), Channel.Unreliable);
Received.InOrder(() =>
{
lost.Invoke(player, 1);
lost.Invoke(player, 3);
delivered.Invoke(player, 5);
});
}
[Test]
public void DropDuplicates()
{
player.SendNotify(data, 1);
var reply = new NotifyPacket
{
Sequence = 0,
ReceiveSequence = 0,
AckMask = 0b001
};
player.ReceiveNotify(reply, new NetworkReader(serializedMessage), Channel.Unreliable);
player.ReceiveNotify(reply, new NetworkReader(serializedMessage), Channel.Unreliable);
delivered.Received(1).Invoke(player, 1);
}
[Test]
public void LoseOldPackets()
{
for (int i = 0; i < 10; i++)
{
var packet = new NotifyPacket
{
Sequence = (ushort)i,
ReceiveSequence = 100,
AckMask = ~0b0ul
};
player.ReceiveNotify(packet, new NetworkReader(serializedMessage), Channel.Unreliable);
}
var reply = new NotifyPacket
{
Sequence = 100,
ReceiveSequence = 100,
AckMask = ~0b0ul
};
player.ReceiveNotify(reply, new NetworkReader(serializedMessage), Channel.Unreliable);
player.SendNotify(data, 1);
Assert.That(lastSent, Is.EqualTo(new NotifyPacket
{
Sequence = 0,
ReceiveSequence = 100,
AckMask = 1
}));
}
[Test]
public void SendAndReceive()
{
player.SendNotify(data, 1);
Action<SceneMessage> mockHandler = Substitute.For<Action<SceneMessage>>();
player.RegisterHandler(mockHandler);
player.TransportReceive(new ArraySegment<byte>(lastSerializedPacket), Channel.Unreliable);
mockHandler.Received().Invoke(new SceneMessage());
}
[Test]
public void NotAcknowledgedYet()
{
player.SendNotify(data, 1);
player.SendNotify(data, 3);
player.SendNotify(data, 5);
var reply = new NotifyPacket
{
Sequence = 0,
ReceiveSequence = 1,
AckMask = 0b011
};
player.ReceiveNotify(reply, new NetworkReader(serializedMessage), Channel.Unreliable);
delivered.DidNotReceive().Invoke(Arg.Any<INetworkPlayer>(), 5);
reply = new NotifyPacket
{
Sequence = 1,
ReceiveSequence = 2,
AckMask = 0b111
};
player.ReceiveNotify(reply, new NetworkReader(serializedMessage), Channel.Unreliable);
delivered.Received().Invoke(player, 5);
}
*/
#endregion
}
}
1 change: 0 additions & 1 deletion doc/classdiagram.mermaid
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ classDiagram

class NetworkConnection {
Send(T msg, int channel)
SendNotify(T msg, int channel, object token)
RegisterHandler(handler(T))
}

Expand Down

0 comments on commit 25a0503

Please sign in to comment.