import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

import junit.framework.TestCase;

import org.mvel.MVEL;

public class TestCollectionSize extends TestCase
{

	protected void setUp() throws Exception
	{
		super.setUp();
	}

	public void testArrayList() throws SecurityException, NoSuchMethodException
	{
		Collection<String> collection = new ArrayList<String>();
		collection.add("I CAN HAS CHEEZBURGER");
		assertEquals(collection.size(), MVEL.eval("size()", collection));
	}
	
	public void testUnmodifiableCollection() throws SecurityException, NoSuchMethodException
	{
		Collection<String> collection = new ArrayList<String>();
		collection.add("I CAN HAS CHEEZBURGER");
		collection = Collections.unmodifiableCollection(collection);
		assertEquals(collection.size(), MVEL.eval("size()", collection));
	}
	
	public void testSingleton() throws SecurityException, NoSuchMethodException
	{
		Collection<String> collection = Collections.singleton("I CAN HAS CHEEZBURGER");
		assertEquals(collection.size(), MVEL.eval("size()", collection));
	}
}

