public void TestNoSendAfterStop() { var serviceMock = new Mock <IServiceCore>(); var timerMock = new Mock <ITimer>(); serviceMock.Setup(x => x.Connected).Returns(true); Packet sentPacket = null; serviceMock.Setup(x => x.SendPacket(It.IsAny <Packet>())).Callback <Packet>(x => sentPacket = x); var sender = new ServiceRequestRepeater(serviceMock.Object, "_tcp.local", timerMock.Object); sender.Start(); Assert.IsNotNull(sentPacket); sentPacket = null; sender.Stop(); // Need to add this timerMock.Raise(x => x.Fired += null); Assert.IsNull(sentPacket); }
public void TestUnicastAfterReconnect() { var serviceMock = new Mock <IServiceCore>(); var timerMock = new Mock <ITimer>(); serviceMock.Setup(x => x.Connected).Returns(true); Packet sentPacket = null; serviceMock.Setup(x => x.SendPacket(It.IsAny <Packet>())).Callback <Packet>(x => sentPacket = x); var sender = new ServiceRequestRepeater(serviceMock.Object, "_tcp.local", timerMock.Object); sender.Start(); sentPacket = null; serviceMock.Raise(x => x.NetworkStatusChanged += null, false, true); Assert.IsFalse(sentPacket.Queries[0].IsMulticast); sentPacket = null; timerMock.Raise(x => x.Fired += null); Assert.IsTrue(sentPacket.Queries[0].IsMulticast); }
public void TestNormalRepeatPacketSending() { var serviceMock = new Mock <IServiceCore>(); var timerMock = new Mock <ITimer>(); serviceMock.Setup(x => x.Connected).Returns(true); Packet sentPacket = null; serviceMock.Setup(x => x.SendPacket(It.IsAny <Packet>())).Callback <Packet>(x => sentPacket = x); var sender = new ServiceRequestRepeater(serviceMock.Object, "_tcp.local", timerMock.Object); sender.Start(); Assert.IsFalse(sentPacket.Flags.IsResponse); Assert.AreEqual(12, sentPacket.Queries[0].Record.RecordType); Assert.AreEqual("_tcp.local", sentPacket.Queries[0].Record.Name); sentPacket = null; timerMock.Raise(x => x.Fired += null); Assert.IsFalse(sentPacket.Flags.IsResponse); Assert.AreEqual(12, sentPacket.Queries[0].Record.RecordType); Assert.AreEqual("_tcp.local", sentPacket.Queries[0].Record.Name); }