import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
public class DoublyLinkedListTest {
private DoublyLinkedList<Integer> subject;
@Before
public void setUp() {
subject = new DoublyLinkedList<>();
}
@Test
public void testPushPop() {
subject.push(10);
subject.push(20);
assertThat(subject.pop(), is(20));
assertThat(subject.pop(), is(10));
}
@Ignore("Remove to run test")
@Test
public void testPushShift() {
subject.push(10);
subject.push(20);
assertThat(subject.shift(), is(10));
assertThat(subject.shift(), is(20));
}
@Ignore("Remove to run test")
@Test
public void testUnshiftShift() {
subject.unshift(10);
subject.unshift(20);
assertThat(subject.shift(), is(20));
assertThat(subject.shift(), is(10));
}
@Ignore("Remove to run test")
@Test
public void testUnshiftPop() {
subject.unshift(10);
subject.unshift(20);
assertThat(subject.pop(), is(10));
assertThat(subject.pop(), is(20));
}
@Ignore("Remove to run test")
@Test
public void testExample() {
subject.push(10);
subject.push(20);
assertThat(subject.pop(), is(20));
subject.push(30);
assertThat(subject.shift(), is(10));
subject.unshift(40);
subject.push(50);
assertThat(subject.shift(), is(40));
assertThat(subject.pop(), is(50));
assertThat(subject.shift(), is(30));
}
}