public void CreatePacketEndpointWhenFirstSubscriptionMade() { Subject.Network.Bridge.Instance subject = new Subject.Network.Bridge.Instance(_settings, _commandEndpointFactory, _packetEndpointFactory); using (subject.Readings.Subscribe()) { A.CallTo(() => _packetEndpointFactory.CreateEndpoint(_settings)).MustHaveHappened(Repeated.Exactly.Once); } }
public void DisposePacketEndpointWhenFirstSubscriptionDisposed() { Subject.Network.Packet.Endpoint.IInstance packetEndpoint = A.Fake<Subject.Network.Packet.Endpoint.IInstance>(); A.CallTo(() => _packetEndpointFactory.CreateEndpoint(_settings)).Returns(packetEndpoint); Subject.Network.Bridge.Instance subject = new Subject.Network.Bridge.Instance(_settings, _commandEndpointFactory, _packetEndpointFactory); using (subject.Readings.Subscribe()) { A.CallTo(() => _packetEndpointFactory.CreateEndpoint(_settings)).MustHaveHappened(Repeated.Exactly.Once); } A.CallTo(() => packetEndpoint.Dispose()).MustHaveHappened(Repeated.Exactly.Once); }
public void CallSendOnCommandEndpointWhenGetDeviceRequestReceived() { Subject.Network.Command.Endpoint.IInstance commandEndpoint = A.Fake<Subject.Network.Command.Endpoint.IInstance>(); A.CallTo(() => _commandEndpointFactory.CreateEndpoint(_settings)).Returns(commandEndpoint); Subject<Subject.Network.Command.IRequest> requests = new Subject<Subject.Network.Command.IRequest>(); Subject.Network.Bridge.Instance subject = new Subject.Network.Bridge.Instance(_settings, _commandEndpointFactory, _packetEndpointFactory); Subject.Network.Command.Request.GetDevice request = new Subject.Network.Command.Request.GetDevice(0); subject.Send(request); A.CallTo(() => commandEndpoint.Send(request)).MustHaveHappened(Repeated.Exactly.Once); }
public void CallSendOnCommandEndpointWhenSetUpdPushPortRequestReceived() { Subject.Network.Command.Endpoint.IInstance commandEndpoint = A.Fake<Subject.Network.Command.Endpoint.IInstance>(); A.CallTo(() => _commandEndpointFactory.CreateEndpoint(_settings)).Returns(commandEndpoint); Subject<Subject.Network.Command.IRequest> requests = new Subject<Subject.Network.Command.IRequest>(); Subject.Network.Bridge.Instance subject = new Subject.Network.Bridge.Instance(_settings, _commandEndpointFactory, _packetEndpointFactory); Subject.Network.Command.Request.SetUdpPushPort request = new Subject.Network.Command.Request.SetUdpPushPort(new IPEndPoint(IPAddress.Loopback, 1234)); subject.Send(request); A.CallTo(() => commandEndpoint.Send(request)).MustHaveHappened(Repeated.Exactly.Once); }