1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package net.sf.json;
18
19 import java.util.ArrayList;
20 import java.util.List;
21
22 import junit.framework.TestCase;
23 import net.sf.json.sample.JsonEventAdpater;
24
25
26
27
28 public class TestJSONArrayEvents extends TestCase {
29 public static void main( String[] args ) {
30 junit.textui.TestRunner.run( TestJSONArrayEvents.class );
31 }
32
33 private JsonConfig jsonConfig;
34 private JsonEventAdpater jsonEventAdpater;
35
36 public TestJSONArrayEvents( String name ) {
37 super( name );
38 }
39
40 public void testFromObject_array() {
41 JSONArray.fromObject( new Object[] { "1", "2", "3" }, jsonConfig );
42 assertEvents();
43 }
44
45 public void testFromObject_error() {
46 try{
47 JSONArray.fromObject( "{}", jsonConfig );
48 fail( "A JSONException was expected" );
49 }catch( JSONException expected ){
50 assertEquals( 1, jsonEventAdpater.getError() );
51 assertEquals( 0, jsonEventAdpater.getWarning() );
52 assertEquals( 0, jsonEventAdpater.getArrayStart() );
53 assertEquals( 0, jsonEventAdpater.getArrayEnd() );
54 assertEquals( 0, jsonEventAdpater.getObjectStart() );
55 assertEquals( 0, jsonEventAdpater.getObjectEnd() );
56 assertEquals( 0, jsonEventAdpater.getElementAdded() );
57 assertEquals( 0, jsonEventAdpater.getPropertySet() );
58 }
59 }
60
61 public void testFromObject_JSONArray() {
62 JSONArray array = new JSONArray().element( "1" )
63 .element( "2" )
64 .element( "3" );
65 JSONArray.fromObject( array, jsonConfig );
66 assertEvents();
67 }
68
69 public void testFromObject_list() {
70 List list = new ArrayList();
71 list.add( "1" );
72 list.add( "2" );
73 list.add( "3" );
74 JSONArray.fromObject( list, jsonConfig );
75 assertEvents();
76 }
77
78 public void testFromObject_primitive_boolean() {
79 JSONArray.fromObject( new boolean[] { true, false, true }, jsonConfig );
80 assertEvents();
81 }
82
83 public void testFromObject_primitive_byte() {
84 JSONArray.fromObject( new byte[] { (byte) 1, (byte) 2, (byte) 3 }, jsonConfig );
85 assertEvents();
86 }
87
88 public void testFromObject_primitive_double() {
89 JSONArray.fromObject( new double[] { 1d, 2d, 3d }, jsonConfig );
90 assertEvents();
91 }
92
93 public void testFromObject_primitive_float() {
94 JSONArray.fromObject( new float[] { 1f, 2f, 3f }, jsonConfig );
95 assertEvents();
96 }
97
98 public void testFromObject_primitive_int() {
99 JSONArray.fromObject( new int[] { 1, 2, 3 }, jsonConfig );
100 assertEvents();
101 }
102
103 public void testFromObject_primitive_long() {
104 JSONArray.fromObject( new long[] { 1L, 2L, 3L }, jsonConfig );
105 assertEvents();
106 }
107
108 public void testFromObject_primitive_short() {
109 JSONArray.fromObject( new short[] { (short) 1, (short) 2, (short) 3 }, jsonConfig );
110 assertEvents();
111 }
112
113 public void testFromObject_string() {
114 JSONArray.fromObject( "[1,2,3]", jsonConfig );
115 assertEvents();
116 }
117
118 protected void setUp() throws Exception {
119 jsonEventAdpater = new JsonEventAdpater();
120 jsonConfig = new JsonConfig();
121 jsonConfig.addJsonEventListener( jsonEventAdpater );
122 jsonConfig.enableEventTriggering();
123 }
124
125 private void assertEvents() {
126 assertEquals( 0, jsonEventAdpater.getError() );
127 assertEquals( 0, jsonEventAdpater.getWarning() );
128 assertEquals( 1, jsonEventAdpater.getArrayStart() );
129 assertEquals( 1, jsonEventAdpater.getArrayEnd() );
130 assertEquals( 0, jsonEventAdpater.getObjectStart() );
131 assertEquals( 0, jsonEventAdpater.getObjectEnd() );
132 assertEquals( 3, jsonEventAdpater.getElementAdded() );
133 assertEquals( 0, jsonEventAdpater.getPropertySet() );
134 }
135 }