OSDN Git Service

改行コード指定
[jindolf/Jindolf.git] / src / test / java / jp / sourceforge / jindolf / json / JsArrayTest.java
index dec5f17..9226d49 100644 (file)
-/*\r
- * Copyright(c) 2009 olyutorskii\r
- */\r
-\r
-package jp.sourceforge.jindolf.json;\r
-\r
-import java.io.StringReader;\r
-import java.util.Iterator;\r
-import java.util.LinkedList;\r
-import java.util.List;\r
-import org.junit.After;\r
-import org.junit.AfterClass;\r
-import org.junit.Before;\r
-import org.junit.BeforeClass;\r
-import org.junit.Test;\r
-import static org.junit.Assert.*;\r
-\r
-/**\r
- *\r
- */\r
-public class JsArrayTest {\r
-\r
-    public JsArrayTest() {\r
-    }\r
-\r
-    @BeforeClass\r
-    public static void setUpClass() throws Exception{\r
-    }\r
-\r
-    @AfterClass\r
-    public static void tearDownClass() throws Exception{\r
-    }\r
-\r
-    @Before\r
-    public void setUp() {\r
-    }\r
-\r
-    @After\r
-    public void tearDown() {\r
-    }\r
-\r
-    /**\r
-     * Test of parseArray method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testParseArray() throws Exception{\r
-        System.out.println("parseArray");\r
-\r
-        JsonReader reader;\r
-        JsArray array;\r
-\r
-        reader = new JsonReader(new StringReader("[]"));\r
-        array = JsArray.parseArray(reader);\r
-        assertEquals(0, array.size());\r
-\r
-        reader = new JsonReader(new StringReader("[true]"));\r
-        array = JsArray.parseArray(reader);\r
-        assertEquals(1, array.size());\r
-        assertEquals(JsBoolean.TRUE, array.get(0));\r
-\r
-        reader = new JsonReader(new StringReader("[true,false]"));\r
-        array = JsArray.parseArray(reader);\r
-        assertEquals(2, array.size());\r
-        assertEquals(JsBoolean.TRUE, array.get(0));\r
-        assertEquals(JsBoolean.FALSE, array.get(1));\r
-\r
-        reader = new JsonReader(new StringReader("\n[\rtrue\t, false\n]\r"));\r
-        array = JsArray.parseArray(reader);\r
-        assertEquals(2, array.size());\r
-        assertEquals(JsBoolean.TRUE, array.get(0));\r
-        assertEquals(JsBoolean.FALSE, array.get(1));\r
-\r
-        try{\r
-            reader = new JsonReader(new StringReader("[,]"));\r
-            array = JsArray.parseArray(reader);\r
-            fail();\r
-        }catch(JsParseException e){\r
-            // NOTHING\r
-        }\r
-\r
-        try{\r
-            reader = new JsonReader(new StringReader("[true,]"));\r
-            array = JsArray.parseArray(reader);\r
-            fail();\r
-        }catch(JsParseException e){\r
-            // NOTHING\r
-        }\r
-\r
-        try{\r
-            reader = new JsonReader(new StringReader("[true"));\r
-            array = JsArray.parseArray(reader);\r
-            fail();\r
-        }catch(JsParseException e){\r
-            // NOTHING\r
-        }\r
-\r
-        try{\r
-            reader = new JsonReader(new StringReader("true]"));\r
-            array = JsArray.parseArray(reader);\r
-            fail();\r
-        }catch(JsParseException e){\r
-            // NOTHING\r
-        }\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of add method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testAdd(){\r
-        System.out.println("add");\r
-\r
-        JsArray array = new JsArray();\r
-\r
-        JsNumber number = new JsNumber("1.23");\r
-        assertEquals(0, array.size());\r
-        array.add(number);\r
-        assertEquals(1, array.size());\r
-        array.add(number);\r
-        assertEquals(2, array.size());\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of get method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testGet(){\r
-        System.out.println("get");\r
-\r
-        JsArray array = new JsArray();\r
-\r
-        JsValue val1 = new JsNumber("1.23");\r
-        JsValue val2 = new JsString("abc");\r
-\r
-        array.add(val1);\r
-        array.add(val2);\r
-\r
-        assertEquals(val1, array.get(0));\r
-        assertEquals(val2, array.get(1));\r
-\r
-        try{\r
-            array.get(2);\r
-            fail();\r
-        }catch(IndexOutOfBoundsException e){\r
-            // NOTHING\r
-        }\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of clear method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testClear(){\r
-        System.out.println("clear");\r
-\r
-        JsArray array = new JsArray();\r
-\r
-        JsValue val1 = new JsNumber("1.23");\r
-        JsValue val2 = new JsString("abc");\r
-\r
-        array.add(val1);\r
-        array.add(val2);\r
-        assertEquals(2, array.size());\r
-\r
-        array.clear();\r
-        assertEquals(0, array.size());\r
-\r
-        try{\r
-            array.get(0);\r
-            fail();\r
-        }catch(IndexOutOfBoundsException e){\r
-            // NOTHING\r
-        }\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of remove method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testRemove(){\r
-        System.out.println("remove");\r
-\r
-        JsArray array = new JsArray();\r
-\r
-        JsValue val1 = new JsNumber("1.23");\r
-        JsValue val2 = new JsString("abc");\r
-        JsValue val3 = JsBoolean.TRUE;\r
-\r
-        array.add(val1);\r
-        array.add(val2);\r
-        assertEquals(2, array.size());\r
-\r
-        assertTrue(array.remove(val1));\r
-        assertEquals(1, array.size());\r
-        assertEquals(val2, array.get(0));\r
-\r
-        assertFalse(array.remove(val3));\r
-        assertEquals(1, array.size());\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of size method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testSize(){\r
-        System.out.println("size");\r
-\r
-        JsArray array = new JsArray();\r
-        assertEquals(0, array.size());\r
-\r
-        JsValue val1 = new JsNumber("1.23");\r
-\r
-        array.add(val1);\r
-        assertEquals(1, array.size());\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of iterator method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testIterator(){\r
-        System.out.println("iterator");\r
-\r
-        JsArray array = new JsArray();\r
-\r
-        JsValue val1 = new JsNumber("1.23");\r
-        JsValue val2 = new JsString("abc");\r
-\r
-        array.add(val1);\r
-        array.add(val2);\r
-\r
-        Iterator<JsValue> it = array.iterator();\r
-\r
-        assertTrue(it.hasNext());\r
-        assertEquals(val1, it.next());\r
-\r
-        assertTrue(it.hasNext());\r
-        assertEquals(val2, it.next());\r
-\r
-        assertFalse(it.hasNext());\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of hashCode method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testHashCode(){\r
-        System.out.println("hashCode");\r
-\r
-        JsArray array1 = new JsArray();\r
-        JsArray array2 = new JsArray();\r
-\r
-        assertEquals(array1.hashCode(), array2.hashCode());\r
-\r
-        array1.add(new JsString("abc"));\r
-        array2.add(new JsString("abc"));\r
-\r
-        assertEquals(array1.hashCode(), array2.hashCode());\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of equals method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testEquals(){\r
-        System.out.println("equals");\r
-\r
-        JsArray array1 = new JsArray();\r
-        JsArray array2 = new JsArray();\r
-\r
-        assertTrue(array1.equals(array2));\r
-\r
-        array1.add(new JsString("abc"));\r
-        array2.add(new JsString("abc"));\r
-\r
-        assertTrue(array1.equals(array2));\r
-\r
-        array1.add(new JsString("xyz"));\r
-        array2.add(new JsString("XYZ"));\r
-\r
-        assertFalse(array1.equals(array2));\r
-\r
-        assertFalse(array1.equals(null));\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of toString method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testToString(){\r
-        System.out.println("toString");\r
-\r
-        JsArray array = new JsArray();\r
-\r
-        assertEquals("[]", array.toString());\r
-\r
-        array.add(JsBoolean.TRUE);\r
-        assertEquals("[true]", array.toString());\r
-\r
-        array.add(JsBoolean.FALSE);\r
-        assertEquals("[true,false]", array.toString());\r
-\r
-        array.add(new JsArray());\r
-        assertEquals("[true,false,[]]", array.toString());\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of traverse method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testTraverse() throws Exception{\r
-        System.out.println("traverse");\r
-\r
-        JsArray array = new JsArray();\r
-        JsValue val1 = new JsNumber("12");\r
-        JsValue val2 = new JsString("AB");\r
-        array.add(val1);\r
-        array.add(val2);\r
-\r
-        final List<Object> visited = new LinkedList<Object>();\r
-\r
-        try{\r
-            array.traverse(new ValueVisitor(){\r
-                public void visitValue(JsValue value)\r
-                        throws JsVisitException{\r
-                    visited.add(value);\r
-                    return;\r
-                }\r
-\r
-                public void visitPairName(String name)\r
-                        throws JsVisitException{\r
-                    visited.add(name);\r
-                    return;\r
-                }\r
-\r
-                public void visitCollectionClose(JsValue composite)\r
-                        throws JsVisitException{\r
-                    visited.add(composite);\r
-                    return;\r
-                }\r
-            });\r
-        }catch(JsVisitException e){\r
-            fail();\r
-        }\r
-\r
-        assertEquals(4, visited.size());\r
-        assertEquals(array, visited.get(0));\r
-        assertEquals(val1, visited.get(1));\r
-        assertEquals(val2, visited.get(2));\r
-        assertEquals(array, visited.get(3));\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of hasChanged method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testHasChanged(){\r
-        System.out.println("hasChanged");\r
-\r
-        JsArray array = new JsArray();\r
-        assertFalse(array.hasChanged());\r
-\r
-        array.add(new JsNumber("0"));\r
-        assertTrue(array.hasChanged());\r
-\r
-        array.setUnchanged();\r
-        assertFalse(array.hasChanged());\r
-\r
-        JsArray child = new JsArray();\r
-        array.add(child);\r
-        array.setUnchanged();\r
-        assertFalse(array.hasChanged());\r
-\r
-        child.add(JsNull.NULL);\r
-        assertTrue(array.hasChanged());\r
-        array.setUnchanged();\r
-        assertFalse(array.hasChanged());\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Test of setUnchanged method, of class JsArray.\r
-     */\r
-    @Test\r
-    public void testSetUnchanged(){\r
-        System.out.println("setUnchanged");\r
-\r
-        JsArray array = new JsArray();\r
-        JsArray child = new JsArray();\r
-        array.add(child);\r
-\r
-        child.add(JsNull.NULL);\r
-        assertTrue(child.hasChanged());\r
-\r
-        array.setUnchanged();\r
-        assertFalse(child.hasChanged());\r
-\r
-        return;\r
-    }\r
-\r
-}\r
+/*
+ * Copyright(c) 2009 olyutorskii
+ */
+
+package jp.sourceforge.jindolf.json;
+
+import java.io.StringReader;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ *
+ */
+public class JsArrayTest {
+
+    public JsArrayTest() {
+    }
+
+    @BeforeClass
+    public static void setUpClass() throws Exception{
+    }
+
+    @AfterClass
+    public static void tearDownClass() throws Exception{
+    }
+
+    @Before
+    public void setUp() {
+    }
+
+    @After
+    public void tearDown() {
+    }
+
+    /**
+     * Test of parseArray method, of class JsArray.
+     */
+    @Test
+    public void testParseArray() throws Exception{
+        System.out.println("parseArray");
+
+        JsonReader reader;
+        JsArray array;
+
+        reader = new JsonReader(new StringReader("[]"));
+        array = JsArray.parseArray(reader);
+        assertEquals(0, array.size());
+
+        reader = new JsonReader(new StringReader("[true]"));
+        array = JsArray.parseArray(reader);
+        assertEquals(1, array.size());
+        assertEquals(JsBoolean.TRUE, array.get(0));
+
+        reader = new JsonReader(new StringReader("[true,false]"));
+        array = JsArray.parseArray(reader);
+        assertEquals(2, array.size());
+        assertEquals(JsBoolean.TRUE, array.get(0));
+        assertEquals(JsBoolean.FALSE, array.get(1));
+
+        reader = new JsonReader(new StringReader("\n[\rtrue\t, false\n]\r"));
+        array = JsArray.parseArray(reader);
+        assertEquals(2, array.size());
+        assertEquals(JsBoolean.TRUE, array.get(0));
+        assertEquals(JsBoolean.FALSE, array.get(1));
+
+        try{
+            reader = new JsonReader(new StringReader("[,]"));
+            array = JsArray.parseArray(reader);
+            fail();
+        }catch(JsParseException e){
+            // NOTHING
+        }
+
+        try{
+            reader = new JsonReader(new StringReader("[true,]"));
+            array = JsArray.parseArray(reader);
+            fail();
+        }catch(JsParseException e){
+            // NOTHING
+        }
+
+        try{
+            reader = new JsonReader(new StringReader("[true"));
+            array = JsArray.parseArray(reader);
+            fail();
+        }catch(JsParseException e){
+            // NOTHING
+        }
+
+        try{
+            reader = new JsonReader(new StringReader("true]"));
+            array = JsArray.parseArray(reader);
+            fail();
+        }catch(JsParseException e){
+            // NOTHING
+        }
+
+        return;
+    }
+
+    /**
+     * Test of add method, of class JsArray.
+     */
+    @Test
+    public void testAdd(){
+        System.out.println("add");
+
+        JsArray array = new JsArray();
+
+        JsNumber number = new JsNumber("1.23");
+        assertEquals(0, array.size());
+        array.add(number);
+        assertEquals(1, array.size());
+        array.add(number);
+        assertEquals(2, array.size());
+
+        return;
+    }
+
+    /**
+     * Test of get method, of class JsArray.
+     */
+    @Test
+    public void testGet(){
+        System.out.println("get");
+
+        JsArray array = new JsArray();
+
+        JsValue val1 = new JsNumber("1.23");
+        JsValue val2 = new JsString("abc");
+
+        array.add(val1);
+        array.add(val2);
+
+        assertEquals(val1, array.get(0));
+        assertEquals(val2, array.get(1));
+
+        try{
+            array.get(2);
+            fail();
+        }catch(IndexOutOfBoundsException e){
+            // NOTHING
+        }
+
+        return;
+    }
+
+    /**
+     * Test of clear method, of class JsArray.
+     */
+    @Test
+    public void testClear(){
+        System.out.println("clear");
+
+        JsArray array = new JsArray();
+
+        JsValue val1 = new JsNumber("1.23");
+        JsValue val2 = new JsString("abc");
+
+        array.add(val1);
+        array.add(val2);
+        assertEquals(2, array.size());
+
+        array.clear();
+        assertEquals(0, array.size());
+
+        try{
+            array.get(0);
+            fail();
+        }catch(IndexOutOfBoundsException e){
+            // NOTHING
+        }
+
+        return;
+    }
+
+    /**
+     * Test of remove method, of class JsArray.
+     */
+    @Test
+    public void testRemove(){
+        System.out.println("remove");
+
+        JsArray array = new JsArray();
+
+        JsValue val1 = new JsNumber("1.23");
+        JsValue val2 = new JsString("abc");
+        JsValue val3 = JsBoolean.TRUE;
+
+        array.add(val1);
+        array.add(val2);
+        assertEquals(2, array.size());
+
+        assertTrue(array.remove(val1));
+        assertEquals(1, array.size());
+        assertEquals(val2, array.get(0));
+
+        assertFalse(array.remove(val3));
+        assertEquals(1, array.size());
+
+        return;
+    }
+
+    /**
+     * Test of size method, of class JsArray.
+     */
+    @Test
+    public void testSize(){
+        System.out.println("size");
+
+        JsArray array = new JsArray();
+        assertEquals(0, array.size());
+
+        JsValue val1 = new JsNumber("1.23");
+
+        array.add(val1);
+        assertEquals(1, array.size());
+
+        return;
+    }
+
+    /**
+     * Test of iterator method, of class JsArray.
+     */
+    @Test
+    public void testIterator(){
+        System.out.println("iterator");
+
+        JsArray array = new JsArray();
+
+        JsValue val1 = new JsNumber("1.23");
+        JsValue val2 = new JsString("abc");
+
+        array.add(val1);
+        array.add(val2);
+
+        Iterator<JsValue> it = array.iterator();
+
+        assertTrue(it.hasNext());
+        assertEquals(val1, it.next());
+
+        assertTrue(it.hasNext());
+        assertEquals(val2, it.next());
+
+        assertFalse(it.hasNext());
+
+        return;
+    }
+
+    /**
+     * Test of hashCode method, of class JsArray.
+     */
+    @Test
+    public void testHashCode(){
+        System.out.println("hashCode");
+
+        JsArray array1 = new JsArray();
+        JsArray array2 = new JsArray();
+
+        assertEquals(array1.hashCode(), array2.hashCode());
+
+        array1.add(new JsString("abc"));
+        array2.add(new JsString("abc"));
+
+        assertEquals(array1.hashCode(), array2.hashCode());
+
+        return;
+    }
+
+    /**
+     * Test of equals method, of class JsArray.
+     */
+    @Test
+    public void testEquals(){
+        System.out.println("equals");
+
+        JsArray array1 = new JsArray();
+        JsArray array2 = new JsArray();
+
+        assertTrue(array1.equals(array2));
+
+        array1.add(new JsString("abc"));
+        array2.add(new JsString("abc"));
+
+        assertTrue(array1.equals(array2));
+
+        array1.add(new JsString("xyz"));
+        array2.add(new JsString("XYZ"));
+
+        assertFalse(array1.equals(array2));
+
+        assertFalse(array1.equals(null));
+
+        return;
+    }
+
+    /**
+     * Test of toString method, of class JsArray.
+     */
+    @Test
+    public void testToString(){
+        System.out.println("toString");
+
+        JsArray array = new JsArray();
+
+        assertEquals("[]", array.toString());
+
+        array.add(JsBoolean.TRUE);
+        assertEquals("[true]", array.toString());
+
+        array.add(JsBoolean.FALSE);
+        assertEquals("[true,false]", array.toString());
+
+        array.add(new JsArray());
+        assertEquals("[true,false,[]]", array.toString());
+
+        return;
+    }
+
+    /**
+     * Test of traverse method, of class JsArray.
+     */
+    @Test
+    public void testTraverse() throws Exception{
+        System.out.println("traverse");
+
+        JsArray array = new JsArray();
+        JsValue val1 = new JsNumber("12");
+        JsValue val2 = new JsString("AB");
+        array.add(val1);
+        array.add(val2);
+
+        final List<Object> visited = new LinkedList<Object>();
+
+        try{
+            array.traverse(new ValueVisitor(){
+                public void visitValue(JsValue value)
+                        throws JsVisitException{
+                    visited.add(value);
+                    return;
+                }
+
+                public void visitPairName(String name)
+                        throws JsVisitException{
+                    visited.add(name);
+                    return;
+                }
+
+                public void visitCollectionClose(JsValue composite)
+                        throws JsVisitException{
+                    visited.add(composite);
+                    return;
+                }
+            });
+        }catch(JsVisitException e){
+            fail();
+        }
+
+        assertEquals(4, visited.size());
+        assertEquals(array, visited.get(0));
+        assertEquals(val1, visited.get(1));
+        assertEquals(val2, visited.get(2));
+        assertEquals(array, visited.get(3));
+
+        return;
+    }
+
+    /**
+     * Test of hasChanged method, of class JsArray.
+     */
+    @Test
+    public void testHasChanged(){
+        System.out.println("hasChanged");
+
+        JsArray array = new JsArray();
+        assertFalse(array.hasChanged());
+
+        array.add(new JsNumber("0"));
+        assertTrue(array.hasChanged());
+
+        array.setUnchanged();
+        assertFalse(array.hasChanged());
+
+        JsArray child = new JsArray();
+        array.add(child);
+        array.setUnchanged();
+        assertFalse(array.hasChanged());
+
+        child.add(JsNull.NULL);
+        assertTrue(array.hasChanged());
+        array.setUnchanged();
+        assertFalse(array.hasChanged());
+
+        return;
+    }
+
+    /**
+     * Test of setUnchanged method, of class JsArray.
+     */
+    @Test
+    public void testSetUnchanged(){
+        System.out.println("setUnchanged");
+
+        JsArray array = new JsArray();
+        JsArray child = new JsArray();
+        array.add(child);
+
+        child.add(JsNull.NULL);
+        assertTrue(child.hasChanged());
+
+        array.setUnchanged();
+        assertFalse(child.hasChanged());
+
+        return;
+    }
+
+}