Package kg.apc.io

Source Code of kg.apc.io.DatagramChannelWithTimeoutsTest

package kg.apc.io;

import kg.apc.emulators.DatagramChannelEmul;
import kg.apc.emulators.SelectorEmul;
import org.junit.*;

import java.io.IOException;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.DatagramChannel;
import java.nio.channels.SelectionKey;

public class DatagramChannelWithTimeoutsTest {

    private DatagramChannelWithTimeoutsEmul instance;

    private static class DatagramChannelWithTimeoutsEmul extends DatagramChannelWithTimeouts {

        protected DatagramChannelWithTimeoutsEmul() throws IOException {
            super();
            selector = new SelectorEmul();
            DatagramChannelEmul ce = (DatagramChannelEmul) DatagramChannelEmul.open();
            ce.configureBlocking(false);
            ce.setBytesToRead(ByteBuffer.wrap("test".getBytes()));
            channel = ce;
            channelKey = channel.register(selector, SelectionKey.OP_READ);
        }
    }

    public DatagramChannelWithTimeoutsTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @Before
    public void setUp() throws IOException {
        instance = new DatagramChannelWithTimeoutsEmul();
    }

    @After
    public void tearDown() {
    }

    /**
     * Test of open method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testOpen() throws Exception {
        System.out.println("open");
        DatagramChannel result = DatagramChannelWithTimeoutsEmul.open();
        Assert.assertNotNull(result);
    }

    /**
     * Test of read method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testRead_ByteBuffer() throws Exception {
        System.out.println("read");
        instance.connect(new InetSocketAddress("204.74.112.1", 53));
        ByteBuffer dst = ByteBuffer.allocateDirect(1024);
        int expResult = 4;
        int result = instance.read(dst);
        Assert.assertEquals(expResult, result);
    }

    /**
     * Test of read method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testRead_3args() throws Exception {
        System.out.println("read");
        ByteBuffer[] dsts = null;
        int offset = 0;
        int length = 0;
        try {
            long result = instance.read(dsts, offset, length);
            Assert.fail("exception expected");
        } catch (UnsupportedOperationException e) {
        }
    }

    /**
     * Test of write method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testWrite_ByteBuffer() throws Exception {
        System.out.println("write");
        ByteBuffer src = ByteBuffer.wrap("test".getBytes());
        int expResult = 4;
        int result = instance.write(src);
        Assert.assertEquals(expResult, result);
    }

    /**
     * Test of write method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testWrite_3args() throws Exception {
        System.out.println("write");
        ByteBuffer[] srcs = null;
        int offset = 0;
        int length = 0;
        long expResult = 0L;
        try {
            long result = instance.write(srcs, offset, length);
            Assert.fail("exception expected");
        } catch (UnsupportedOperationException e) {
        }
    }

    /**
     * Test of implCloseSelectableChannel method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testImplCloseSelectableChannel() throws Exception {
        System.out.println("implCloseSelectableChannel");
        try{
        instance.implCloseSelectableChannel();
            Assert.fail("Exception expected");
        } catch (UnsupportedOperationException e) {
        }
    }

    /**
     * Test of implConfigureBlocking method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testImplConfigureBlocking() throws Exception {
        System.out.println("implConfigureBlocking");
        try {
            boolean block = false;
            instance.implConfigureBlocking(block);
            Assert.fail("Exception expected");
        } catch (UnsupportedOperationException e) {
        }
    }

    /**
     * Test of isConnected method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testIsConnected() throws IOException {
        System.out.println("isConnected");
        boolean expResult = true;
        boolean result = instance.isConnected();
        Assert.assertEquals(expResult, result);
    }

    /**
     * Test of setReadTimeout method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testSetReadTimeout() {
        System.out.println("setReadTimeout");
        int t = 0;
        instance.setReadTimeout(t);
    }

    /**
     * Test of socket method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testSocket() {
        System.out.println("socket");
        DatagramSocket result = instance.socket();
        Assert.assertNotNull(result);
    }

    /**
     * Test of connect method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testConnect() throws Exception {
        System.out.println("connect");
        SocketAddress remote = new InetSocketAddress("localhost", 123);
        DatagramChannel result = instance.connect(remote);
        Assert.assertNotNull(result);
    }

    /**
     * Test of disconnect method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testDisconnect() throws Exception {
        System.out.println("disconnect");
        DatagramChannel result = instance.disconnect();
        Assert.assertNotNull(result);
    }

    /**
     * Test of receive method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testReceive() throws Exception {
        System.out.println("receive");
        ByteBuffer dst = null;
        SocketAddress expResult = null;
        try {
            SocketAddress result = instance.receive(dst);
            Assert.fail("exception expected");
        } catch (UnsupportedOperationException e) {
        }
    }

    /**
     * Test of send method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testSend() throws Exception {
        System.out.println("send");
        try {
            instance.send(null, null);
            Assert.fail("exception expected");
        } catch (UnsupportedOperationException e) {
        }
    }

    /*
    @Test
    public void testSendRecv_real() throws Exception {
        System.out.println("send real");
        String req = "892f0100000100000000000007636f6d6d6f6e730977696b696d65646961036f72670000010001";
        ByteBuffer src = ByteBuffer.wrap(BinaryTCPClientImpl.hexStringToByteArray(req));
        SocketAddress target = new InetSocketAddress("204.74.112.1", 53);
        int expResult = req.length() / 2;
        DatagramChannelWithTimeouts inst = (DatagramChannelWithTimeouts) DatagramChannelWithTimeouts.open();
        inst.setReadTimeout(500);
        inst.connect(target);
        int result = inst.write(src);
        assertEquals(expResult, result);
        ByteBuffer dst = ByteBuffer.allocateDirect(1024);
        inst.read(dst);
        System.out.println(dst);
        System.out.println(JMeterPluginsUtils.byteBufferToString(dst));
        try{
        inst.read(dst);
        fail("Exception?");
        } catch (SocketTimeoutException e)
        {}
    }
     *
     */

    /**
     * Test of getRemoteAddress method, of class DatagramChannelWithTimeouts.
     */
    @Test
    public void testGetRemoteAddress() throws Exception {
        System.out.println("getRemoteAddress");
        DatagramChannelWithTimeouts instance = new DatagramChannelWithTimeouts();
        SocketAddress expResult = null;
        SocketAddress result = instance.getRemoteAddress();
        Assert.assertEquals(expResult, result);
    }
}
TOP

Related Classes of kg.apc.io.DatagramChannelWithTimeoutsTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.