/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.xml.impl;
import junit.framework.TestCase;
import java.util.ArrayList;
import java.util.List;
public class BufferTest extends TestCase {
Buffer buffer;
protected void setUp() throws Exception {
buffer = new Buffer(10);
}
public void test() throws Exception {
Consumer consumer = new Consumer(buffer);
Thread thread = new Thread(consumer);
thread.start();
for (int i = 0; i < 1000; i++) {
buffer.put(new Integer(i));
}
thread.join();
for (int i = 0; i < consumer.taken.size(); i++) {
Integer integer = (Integer) consumer.taken.get(i);
assertEquals(i, integer.intValue());
}
}
static class Consumer implements Runnable {
Buffer buffer;
List taken;
public Consumer(Buffer buffer) {
this.buffer = buffer;
}
public void run() {
taken = new ArrayList();
for (int i = 0; i < 1000; i++) {
taken.add(buffer.get());
}
}
}
}