public void Test_Lambda_RemoveOnDisconnect_CustomCreator() { var testHandler = new TestHandler(); byte[] serializedData = new byte[] { 1, 2, 3 }; byte[] serializedMessage = new byte[] { 1, 2, 3, 4 }; string unserializedData = "some data"; var mockSerializer = new Mock <ISerializer>(); mockSerializer.Setup(m => m.Deserialize <NetworkMessage>(serializedMessage)).Returns(new NetworkMessage { Data = serializedData, Name = "System.String" }); mockSerializer.Setup(m => m.Deserialize <string>(serializedData)).Returns(unserializedData); var mockConnection = new Mock <IConnection>(); var objectConnection = new DefaultObjectConnection(mockConnection.Object) { Serializer = mockSerializer.Object }; bool OnCommandHasBeenCalled = false; Action <IObjectConnection> del = (c) => OnCommandHasBeenCalled = true; string creator = "CreatorObject :)"; objectConnection.OnDisconnect(del, creator: creator); objectConnection.RemoveOnDisconnect(creator); //Act mockConnection.Raise(m => m.OnDisconnected += null); Assert.IsFalse(OnCommandHasBeenCalled); }
public void Test_Lambda_OnCommand() { var testHandler = new TestHandler(); byte[] serializedData = new byte[] { 1, 2, 3 }; byte[] serializedMessage = new byte[] { 1, 2, 3, 4 }; string unserializedData = "some data"; var mockSerializer = new Mock <ISerializer>(); mockSerializer.Setup(m => m.Deserialize <NetworkMessage>(serializedMessage)).Returns(new NetworkMessage { Data = serializedData, Name = "System.String" }); mockSerializer.Setup(m => m.Deserialize <string>(serializedData)).Returns(unserializedData); var mockConnection = new Mock <IConnection>(); var objectConnection = new DefaultObjectConnection(mockConnection.Object) { Serializer = mockSerializer.Object }; bool OnCommandHasBeenCalled = false; objectConnection.OnCommand <string>((c, s) => OnCommandHasBeenCalled = true); //Act mockConnection.Raise(m => m.OnDataReceived += null, serializedMessage); Assert.IsTrue(OnCommandHasBeenCalled); }
public void Test_EventHandlerClass_RemoveCommand() { var testHandler = new TestHandler(); byte[] serializedData = new byte[] { 1, 2, 3 }; byte[] serializedMessage = new byte[] { 1, 2, 3, 4 }; string unserializedData = "some data"; var mockSerializer = new Mock <ISerializer>(); mockSerializer.Setup(m => m.Deserialize <NetworkMessage>(serializedMessage)).Returns(new NetworkMessage { Data = serializedData, Name = "System.String" }); mockSerializer.Setup(m => m.Deserialize <string>(serializedData)).Returns(unserializedData); var mockConnection = new Mock <IConnection>(); var objectConnection = new DefaultObjectConnection(mockConnection.Object) { Serializer = mockSerializer.Object }; objectConnection.AddEventHandler(testHandler); objectConnection.RemoveEventHandlers(testHandler); //Act mockConnection.Raise(m => m.OnDataReceived += null, serializedMessage); Assert.IsFalse(testHandler.HasOnCommandBeenCalled); }
public void Test_SendObject() { string data = "some object data"; byte[] serializedData = new byte[] { 1, 2, 3 }; byte[] serializedType = new byte[] { 2, 3, 4 }; var mockSerializer = new Mock <ISerializer>(); mockSerializer.Setup(m => m.Serialize(data)).Returns(serializedData); mockSerializer.Setup(m => m.Serialize("System.String")).Returns(serializedType); var mockConnection = new Mock <IConnection>(); var objectConnection = new DefaultObjectConnection(mockConnection.Object) { Serializer = mockSerializer.Object }; //Act objectConnection.SendObject(data); mockSerializer.Verify(m => m.Serialize((object)data), Times.Once); mockSerializer.Verify(m => m.Serialize(It.IsAny <NetworkMessage>()), Times.Once); mockConnection.Verify(m => m.SendData(It.IsAny <byte[]>()), Times.Once); }
public void Test_Stop() { var mockSerializer = new Mock <ISerializer>(); var mockConnection = new Mock <IConnection>(); var objectConnection = new DefaultObjectConnection(mockConnection.Object) { Serializer = mockSerializer.Object }; //Act objectConnection.Stop(); mockConnection.Raise(m => m.OnDisconnected += null); mockConnection.Verify(m => m.Stop(), Times.Once); }
public void Test_Start_HasAlreadyBeenStarted() { var mockSerializer = new Mock <ISerializer>(); var mockConnection = new Mock <IConnection>(); var objectConnection = new DefaultObjectConnection(mockConnection.Object) { Serializer = mockSerializer.Object }; //Act objectConnection.Start(); objectConnection.Start(); mockConnection.Raise(m => m.OnConnected += null); mockConnection.Verify(m => m.Start(), Times.Once); }