public void Given_TheServerIsListening_When_JoinMulticastGroupIsCalled_Then_ItJoinsAMulticastGroup() { IPAddress joinedAddress = null; EndPoint endPoint = new IPEndPoint(IPAddress.Parse("::1"), 1234); var udpWrapper = Mock.Of <IUdpWrapper>(x => x.HostEndPoint == endPoint ); var returnedAddress = new IPAddress(new byte[] { 192, 168, 0, 1 }); var addressProvider = Mock.Of <ISacnMulticastAddressProvider>(x => x.GetMulticastAddress(It.IsAny <UInt16>()) == returnedAddress ); Mock.Get(udpWrapper) .Setup(x => x.JoinMulticastGroup(It.IsAny <IPAddress>())) .Callback <IPAddress>(addr => joinedAddress = addr); var server = new TestMulticastSacnReceiver(udpWrapper, addressProvider); server.Listen(IPAddress.Any); server.JoinMulticastGroup(1); Assert.Equal(returnedAddress, joinedAddress); }
public void Given_TheUniverseIsTooLow_When_TheUniverseIsSet_Then_AnExceptionIsThrown() { var udpWrapper = Mock.Of <IUdpWrapper>(); var server = new TestMulticastSacnReceiver(udpWrapper, Mock.Of <ISacnMulticastAddressProvider>()); server.Listen(IPAddress.Any); Assert.Throws <ArgumentOutOfRangeException>(() => server.JoinMulticastGroup(Constants.Universe_MinValue - 1)); }
public void When_JoinMulticastGroupsIsCalled_Then_AllTheGroupsAreJoined() { var universes = Enumerable.Range(Constants.Universe_MinValue, 5) .Select(x => (UInt16)x); var udpWrapper = Mock.Of <IUdpWrapper>(x => x.HostEndPoint == new IPEndPoint(new IPAddress(new byte[] { 192, 168, 0, 1 }), 5568) ); var addressProvider = Mock.Of <ISacnMulticastAddressProvider>(); var server = new TestMulticastSacnReceiver(udpWrapper, addressProvider); server.Listen(IPAddress.Any); server.JoinMulticastGroups(universes); Mock.Get(udpWrapper) .Verify(x => x.JoinMulticastGroup(It.IsAny <IPAddress>()), Times.Exactly(universes.Count())); }