@Test public void testCopyOptions() { DatagramSocketOptions options = new DatagramSocketOptions(); Random rand = new Random(); boolean broadcast = rand.nextBoolean(); boolean loopbackModeDisabled = rand.nextBoolean(); int multicastTimeToLive = TestUtils.randomPositiveInt(); String multicastNetworkInterface = TestUtils.randomAlphaString(100); boolean reuseAddress = rand.nextBoolean(); boolean ipV6 = rand.nextBoolean(); options.setBroadcast(broadcast); options.setLoopbackModeDisabled(loopbackModeDisabled); options.setMulticastTimeToLive(multicastTimeToLive); options.setMulticastNetworkInterface(multicastNetworkInterface); options.setReuseAddress(reuseAddress); options.setIpV6(ipV6); DatagramSocketOptions copy = new DatagramSocketOptions(options); assertEquals(broadcast, copy.isBroadcast()); assertEquals(loopbackModeDisabled, copy.isLoopbackModeDisabled()); assertEquals(multicastTimeToLive, copy.getMulticastTimeToLive()); assertEquals(multicastNetworkInterface, copy.getMulticastNetworkInterface()); assertEquals(reuseAddress, copy.isReuseAddress()); assertEquals(ipV6, copy.isIpV6()); testComplete(); }
@Test public void testCopyOptionsJson() { Random rand = new Random(); boolean broadcast = rand.nextBoolean(); boolean loopbackModeDisabled = rand.nextBoolean(); int multicastTimeToLive = TestUtils.randomPositiveInt(); String multicastNetworkInterface = TestUtils.randomAlphaString(100); boolean reuseAddress = rand.nextBoolean(); boolean ipV6 = rand.nextBoolean(); JsonObject json = new JsonObject() .putBoolean("broadcast", broadcast) .putBoolean("loopbackModeDisabled", loopbackModeDisabled) .putNumber("multicastTimeToLive", multicastTimeToLive) .putString("multicastNetworkInterface", multicastNetworkInterface) .putBoolean("reuseAddress", reuseAddress) .putBoolean("ipV6", ipV6); DatagramSocketOptions copy = new DatagramSocketOptions(json); assertEquals(broadcast, copy.isBroadcast()); assertEquals(loopbackModeDisabled, copy.isLoopbackModeDisabled()); assertEquals(multicastTimeToLive, copy.getMulticastTimeToLive()); assertEquals(multicastNetworkInterface, copy.getMulticastNetworkInterface()); assertEquals(reuseAddress, copy.isReuseAddress()); assertEquals(ipV6, copy.isIpV6()); testComplete(); }
@Test public void testOptions() { DatagramSocketOptions options = new DatagramSocketOptions(); assertEquals(NetworkOptions.DEFAULT_SEND_BUFFER_SIZE, options.getSendBufferSize()); int rand = TestUtils.randomPositiveInt(); assertEquals(options, options.setSendBufferSize(rand)); assertEquals(rand, options.getSendBufferSize()); try { options.setSendBufferSize(0); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } try { options.setSendBufferSize(-123); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } assertEquals(NetworkOptions.DEFAULT_RECEIVE_BUFFER_SIZE, options.getReceiveBufferSize()); rand = TestUtils.randomPositiveInt(); assertEquals(options, options.setReceiveBufferSize(rand)); assertEquals(rand, options.getReceiveBufferSize()); try { options.setReceiveBufferSize(0); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } try { options.setReceiveBufferSize(-123); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } assertFalse(options.isReuseAddress()); assertEquals(options, options.setReuseAddress(true)); assertTrue(options.isReuseAddress()); assertEquals(NetworkOptions.DEFAULT_TRAFFIC_CLASS, options.getTrafficClass()); rand = 23; assertEquals(options, options.setTrafficClass(rand)); assertEquals(rand, options.getTrafficClass()); try { options.setTrafficClass(-1); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } try { options.setTrafficClass(256); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } assertFalse(options.isBroadcast()); assertEquals(options, options.setBroadcast(true)); assertTrue(options.isBroadcast()); assertTrue(options.isLoopbackModeDisabled()); assertEquals(options, options.setLoopbackModeDisabled(false)); assertFalse(options.isLoopbackModeDisabled()); assertEquals(-1, options.getMulticastTimeToLive()); rand = TestUtils.randomPositiveInt(); assertEquals(options, options.setMulticastTimeToLive(rand)); assertEquals(rand, options.getMulticastTimeToLive()); try { options.setMulticastTimeToLive(-1); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } assertNull(options.getMulticastNetworkInterface()); String randString = TestUtils.randomUnicodeString(100); assertEquals(options, options.setMulticastNetworkInterface(randString)); assertEquals(randString, options.getMulticastNetworkInterface()); assertFalse(options.isIpV6()); assertEquals(options, options.setIpV6(true)); assertTrue(options.isIpV6()); testComplete(); }