blob: 37162edcff85b46ed5506039e794ae3580b79165 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 SAP AG
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Lazar Kirchev, SAP AG - initial contribution
******************************************************************************/
package org.eclipse.equinox.console.common;
import org.junit.Assert;
import org.junit.Test;
public class HistoryHolderTests {
@Test
public void test() {
HistoryHolder historyHolder = new HistoryHolder();
byte[] line1 = new byte[] { 'a', 'b', 'c', 'd' };
byte[] line2 = new byte[] { 'x', 'y', 'z' };
byte[] line3 = new byte[] { 'k', 'l', 'm', 'n' };
historyHolder.add(line1);
historyHolder.add(line2);
historyHolder.add(line3);
byte[] first = historyHolder.first();
Assert.assertEquals("Wrong length of first member", line1.length, first.length);
Assert.assertArrayEquals("Wrong first member", line1, first);
byte[] last = historyHolder.last();
Assert.assertEquals("Wrong length of last member", line3.length, last.length);
Assert.assertArrayEquals("Wrong last member", line3, last);
byte[] prev = historyHolder.prev();
Assert.assertEquals("Wrong length of previous member", line2.length, prev.length);
Assert.assertArrayEquals("Wrong previous member", line2, prev);
byte[] next = historyHolder.next();
Assert.assertEquals("Wrong length of next member", line3.length, next.length);
Assert.assertArrayEquals("Wrong next member", line3, next);
historyHolder.first();
historyHolder.add(new byte[] {});
byte[] current = historyHolder.prev();
Assert.assertEquals("Wrong length of next member", line3.length, current.length);
Assert.assertArrayEquals("Wrong next member", line3, current);
historyHolder.first();
historyHolder.add(line1);
current = historyHolder.prev();
Assert.assertEquals("Wrong length of next member", line1.length, current.length);
Assert.assertArrayEquals("Wrong next member", line1, current);
Assert.assertArrayEquals("Second line should now be first", line2, historyHolder.first());
historyHolder.reset();
Assert.assertNull("History should be empty", historyHolder.first());
Assert.assertNull("History should be empty", historyHolder.last());
Assert.assertNull("History should be empty", historyHolder.next());
Assert.assertNull("History should be empty", historyHolder.prev());
}
}