/**
* Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.datasource;
import java.util.Arrays;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import org.junit.Test;
/**
* Tests the QueueCollector.
*
* @author carcassi
*/
public class QueueCollectorTest {
@Test
public void inputOutput() {
QueueCollector<Integer> collector = new QueueCollector<>(5);
assertThat(collector.readValue().size(), equalTo(0));
collector.writeValue(0);
assertThat(collector.readValue(), equalTo(Arrays.asList(0)));
assertThat(collector.readValue().size(), equalTo(0));
collector.writeValue(1);
collector.writeValue(2);
collector.writeValue(3);
assertThat(collector.readValue(), equalTo(Arrays.asList(1,2,3)));
assertThat(collector.readValue().size(), equalTo(0));
collector.writeValue(1);
collector.writeValue(2);
collector.writeValue(3);
collector.writeValue(4);
collector.writeValue(5);
collector.writeValue(6);
assertThat(collector.readValue(), equalTo(Arrays.asList(2,3,4,5,6)));
assertThat(collector.readValue().size(), equalTo(0));
}
@Test
public void setMaxSize() {
QueueCollector<Integer> collector = new QueueCollector<>(5);
assertThat(collector.readValue().size(), equalTo(0));
collector.writeValue(1);
collector.writeValue(2);
collector.writeValue(3);
collector.writeValue(4);
collector.writeValue(5);
collector.writeValue(6);
collector.setMaxSize(2);
assertThat(collector.readValue(), equalTo(Arrays.asList(5,6)));
assertThat(collector.readValue().size(), equalTo(0));
collector.writeValue(1);
collector.writeValue(2);
collector.writeValue(3);
collector.setMaxSize(5);
collector.writeValue(4);
collector.writeValue(5);
collector.writeValue(6);
assertThat(collector.readValue(), equalTo(Arrays.asList(2,3,4,5,6)));
assertThat(collector.readValue().size(), equalTo(0));
}
}