utiltest.java

来自「JGRoups源码」· Java 代码 · 共 488 行 · 第 1/2 页

JAVA
488
字号
        dos.close();        byte[] buf=outstream.toByteArray();        ByteArrayInputStream instream=new ByteArrayInputStream(buf);        DataInputStream dis=new DataInputStream(instream);        Message m2=(Message)Util.readGenericStreamable(dis);        ViewId v3=(ViewId)Util.readGenericStreamable(dis);        ViewId v4=(ViewId)Util.readGenericStreamable(dis);        assertNotNull(m2.getBuffer());        assertEquals(m.getLength(), m2.getLength());        assertNotNull(v3);        assertEquals(vid, v3);        assertNotNull(v4);        assertEquals(vid2, v4);    }    public void testWriteViewIdWithNullCoordinator() throws IOException, IllegalAccessException, InstantiationException {        ViewId vid=new ViewId(null, 12345);        ByteArrayOutputStream outstream=new ByteArrayOutputStream();        DataOutputStream dos=new DataOutputStream(outstream);        Util.writeGenericStreamable(vid, dos);        dos.close();        byte[] buf=outstream.toByteArray();        ByteArrayInputStream instream=new ByteArrayInputStream(buf);        DataInputStream dis=new DataInputStream(instream);        ViewId v4=(ViewId)Util.readGenericStreamable(dis);        assertEquals(vid, v4);    }    public void testWriteView() throws IOException, IllegalAccessException, InstantiationException {        ViewId vid=new ViewId(null, 12345);        Vector members=new Vector();        View v;        IpAddress a1=new IpAddress("localhost", 1234);        IpAddress a2=new IpAddress("127.0.0.1", 4444);        IpAddress a4=new IpAddress("www.google.com", 7777);        members.add(a1);        members.add(a2);        members.add(a4);        v=new View(vid, members);        ByteArrayOutputStream outstream=new ByteArrayOutputStream();        DataOutputStream dos=new DataOutputStream(outstream);        Util.writeGenericStreamable(v, dos);        Util.writeStreamable(v, dos);        dos.close();        byte[] buf=outstream.toByteArray();        ByteArrayInputStream instream=new ByteArrayInputStream(buf);        DataInputStream dis=new DataInputStream(instream);        View v2=(View)Util.readGenericStreamable(dis);        assertEquals(v, v2);        v2=(View)Util.readStreamable(View.class, dis);        assertEquals(v, v2);    }    public void testWriteString() throws IOException {        String s1="Bela Ban", s2="Michelle Ban";        ByteArrayOutputStream outstream=new ByteArrayOutputStream();        DataOutputStream dos=new DataOutputStream(outstream);        Util.writeString(s1, dos);        Util.writeString(s2, dos);        dos.close();        byte[] buf=outstream.toByteArray();        ByteArrayInputStream instream=new ByteArrayInputStream(buf);        DataInputStream dis=new DataInputStream(instream);        String s3=Util.readString(dis);        String s4=Util.readString(dis);        assertEquals(s1, s3);        assertEquals(s2, s4);    }    public void writeAddress() throws IOException, IllegalAccessException, InstantiationException {        IpAddress a1=new IpAddress("localhost", 1234);        IpAddress a2=new IpAddress("127.0.0.1", 4444);        IpAddress a3=new IpAddress("thishostdoesnexist", 6666);        IpAddress a4=new IpAddress("www.google.com", 7777);        ByteArrayOutputStream outstream=new ByteArrayOutputStream();        DataOutputStream dos=new DataOutputStream(outstream);        Util.writeAddress(a1, dos);        Util.writeAddress(a2, dos);        Util.writeAddress(a3, dos);        Util.writeAddress(a4, dos);        dos.close();        byte[] buf=outstream.toByteArray();        ByteArrayInputStream instream=new ByteArrayInputStream(buf);        DataInputStream dis=new DataInputStream(instream);        assertEquals(a1, Util.readAddress(dis));        assertEquals(a2, Util.readAddress(dis));        assertEquals(a3, Util.readAddress(dis));        assertEquals(a4, Util.readAddress(dis));    }    public void writeNullAddress() throws IOException, IllegalAccessException, InstantiationException {        IpAddress a1=null;        ByteArrayOutputStream outstream=new ByteArrayOutputStream();        DataOutputStream dos=new DataOutputStream(outstream);        Util.writeAddress(a1, dos);        dos.close();        byte[] buf=outstream.toByteArray();        ByteArrayInputStream instream=new ByteArrayInputStream(buf);        DataInputStream dis=new DataInputStream(instream);        assertNull(Util.readAddress(dis));    }    public void testWriteByteBuffer() throws IOException {        byte[] buf=new byte[1024], tmp;        for(int i=0; i < buf.length; i++)            buf[i]=0;        ByteArrayOutputStream outstream=new ByteArrayOutputStream();        DataOutputStream dos=new DataOutputStream(outstream);        Util.writeByteBuffer(buf, dos);        dos.close();        tmp=outstream.toByteArray();        ByteArrayInputStream instream=new ByteArrayInputStream(tmp);        DataInputStream dis=new DataInputStream(instream);        byte[] buf2=Util.readByteBuffer(dis);        assertNotNull(buf2);        assertEquals(buf.length, buf2.length);    }    public void testMatch() {        long[] a={1,2,3};        long[] b={2,3,4};        long[] c=null;        long[] d={1,2,3,4};        long[] e={1,2,3};        assertTrue(Util.match(a,a));        assertFalse(Util.match(a,b));        assertFalse(Util.match(a,c));        assertFalse(Util.match(a,d));        assertTrue(Util.match(a,e));        assertTrue(Util.match(c,c));        assertFalse(Util.match(c, a));    }    public void testPickRandomElement() {        Vector v=new Vector();        for(int i=0; i < 10; i++) {            v.add(new Integer(i));        }        Integer el;        for(int i=0; i < 10000; i++) {            el=(Integer)Util.pickRandomElement(v);            assertTrue(el.intValue() >= 0 && el.intValue() < 10);        }    }    public void testAll() {        ArrayList l=new ArrayList();        l.add("one"); l.add("two"); l.add("one");        System.out.println("-- list is " + l);        assertFalse(Util.all(l, "one"));        l.remove("two");        System.out.println("-- list is " + l);        assertTrue(Util.all(l, "one"));    }    public void testParseCommaDelimitedString() {        String input="1,2,3,4,5,6,7,8,9,10 , 11, 12 ,13";        List list=Util.parseCommaDelimitedStrings(input);        System.out.println("list: " + list);        assertEquals(13, list.size());        assertEquals("1", list.get(0));        assertEquals("13", list.get(list.size() -1));    }    public void testParseSemicolonDelimitedString() {        String input="one;two ; three; four ; five;six";        List list=Util.parseStringList(input, ";");        System.out.println("list: " + list);        assertEquals(6, list.size());        assertEquals("one", list.get(0));        assertEquals("six", list.get(list.size() -1));    }    public void testParseSemicolonDelimitedString2() {        String input="  myID1::subID1 ; myID2::mySubID2; myID3 ;myID4::blaSubID4";        List list=Util.parseStringList(input, ";");        System.out.println("list: " + list);        assertEquals(4, list.size());        assertEquals("myID1::subID1", list.get(0));        assertEquals("myID4::blaSubID4", list.get(list.size() -1));    }    public void testVariableSubstitution() {        String val="hello world", replacement;        replacement=Util.substituteVariable(val);        assertEquals(val, replacement); // no substitution        val="my name is ${user.name}";        replacement=Util.substituteVariable(val);        assertNotSame(val, replacement);        assertFalse(val.equals(replacement));        val="my name is ${user.name} and ${user.name}";        replacement=Util.substituteVariable(val);        assertFalse(val.equals(replacement));        assertEquals(-1, replacement.indexOf("${"));        val="my name is ${unknown.var:Bela Ban}";        replacement=Util.substituteVariable(val);        assertTrue(replacement.indexOf("Bela Ban") >= 0);        assertEquals(-1, replacement.indexOf("${"));        val="my name is ${unknown.var}";        replacement=Util.substituteVariable(val);        assertTrue(replacement.indexOf("${") >= 0);        val="here is an invalid ${argument because it doesn't contains a closing bracket";        try {            replacement=Util.substituteVariable(val);            fail("should be an IllegalArgumentException");        }        catch(Throwable t) {            assertEquals(IllegalArgumentException.class, t.getClass());        }    }    public static Test suite() {        return new TestSuite(UtilTest.class);    }    public static void main(String[] args) {        junit.textui.TestRunner.run(suite());    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?