/*
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.sf.json;
import java.util.List;
import junit.framework.TestCase;
import net.sf.json.test.JSONAssert;
/**
* @author Andres Almiray <aalmiray@users.sourceforge.net>
*/
public class TestJSONArrayAsList extends TestCase {
public static void main( String[] args ) {
junit.textui.TestRunner.run( TestJSONArrayAsList.class );
}
private JSONArray jsonArray;
public TestJSONArrayAsList( String name ) {
super( name );
}
public void testAdd() {
assertEquals( 5, jsonArray.size() );
jsonArray.add( "value" );
assertEquals( 6, jsonArray.size() );
}
public void testAdd_index_value() {
assertEquals( 5, jsonArray.size() );
Object first = jsonArray.get( 0 );
jsonArray.add( 0, "value" );
assertEquals( 6, jsonArray.size() );
assertEquals( "value", jsonArray.get( 0 ) );
assertEquals( first, jsonArray.get( 1 ) );
}
public void testAddAll() {
JSONArray array = new JSONArray();
array.addAll( jsonArray );
JSONAssert.assertEquals( jsonArray, array );
}
public void testAddAll_index_value() {
JSONArray array = new JSONArray().element( "value" );
array.addAll( 0, jsonArray );
assertEquals( 6, array.size() );
assertEquals( "value", array.get( 5 ) );
}
public void testClear() {
assertEquals( 5, jsonArray.size() );
jsonArray.clear();
assertEquals( 0, jsonArray.size() );
}
public void testContains() {
assertTrue( jsonArray.contains( "1" ) );
assertFalse( jsonArray.contains( "2" ) );
}
public void testContainsAll() {
assertTrue( jsonArray.containsAll( jsonArray ) );
}
public void testIndexOf() {
jsonArray.element( "1" );
assertEquals( 0, jsonArray.indexOf( "1" ) );
}
public void testIsEmpty() {
assertFalse( jsonArray.isEmpty() );
}
public void testLastIndexOf() {
jsonArray.element( "1" );
assertEquals( 5, jsonArray.lastIndexOf( "1" ) );
}
public void testRemove() {
assertEquals( 5, jsonArray.size() );
jsonArray.remove( "string" );
assertEquals( 4, jsonArray.size() );
assertTrue( !jsonArray.contains( "string" ) );
}
public void testRemove_index() {
assertEquals( 5, jsonArray.size() );
jsonArray.remove( 2 );
assertEquals( 4, jsonArray.size() );
assertTrue( !jsonArray.contains( "string" ) );
}
public void testRemoveAll() {
assertEquals( 5, jsonArray.size() );
jsonArray.removeAll( jsonArray );
assertEquals( 0, jsonArray.size() );
}
public void testRetainAll() {
assertEquals( 5, jsonArray.size() );
jsonArray.retainAll( jsonArray );
assertEquals( 5, jsonArray.size() );
}
public void testSubList() {
List actual = jsonArray.subList( 0, 3 );
JSONArray expected = new JSONArray().element( "1" )
.element( "true" )
.element( "string" );
JSONAssert.assertEquals( expected, JSONArray.fromObject( actual ) );
}
/*
* public void testToArray() { } public void testToArray_array() { }
*/
protected void setUp() throws Exception {
jsonArray = new JSONArray().element( "1" )
.element( "true" )
.element( "string" )
.element( "function(){ return this; }" )
.element( "[1,2,3]" );
}
}