import org.junit.Ignore;
import org.junit.Test;
import org.junit.Rule;
import org.junit.rules.ExpectedException;

import java.util.NoSuchElementException;

import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;

public class SimpleLinkedListTest {

    @Rule
    public ExpectedException thrown = ExpectedException.none();
    
    @Test
    public void aNewListIsEmpty() {
        SimpleLinkedList list = new SimpleLinkedList();
        assertThat(list.size(), is(0));
    }

    @Ignore
    @Test
    public void canCreateFromArray() {
        Integer[] values = new Integer[]{1, 2, 3};
        SimpleLinkedList list = new SimpleLinkedList(values);
        assertThat(list.size(), is(3));
    }

    @Ignore
    @Test
    public void popOnEmptyListWillThrow() {
        thrown.expect(NoSuchElementException.class);
        SimpleLinkedList list = new SimpleLinkedList();
        list.pop();
    }

    @Ignore
    @Test
    public void popReturnsLastAddedElement() {
        SimpleLinkedList list = new SimpleLinkedList();
        list.push(9);
        list.push(8);
        assertThat(list.size(), is(2));
        assertThat(list.pop(), is(8));
        assertThat(list.pop(), is(9));
        assertThat(list.size(), is(0));
    }

    @Ignore
    @Test
    public void reverseReversesList() {
        SimpleLinkedList list = new SimpleLinkedList();
        list.push(9);
        list.push(8);
        list.push(7);
        list.push(6);
        list.push(5);
        list.reverse();
        assertThat(list.pop(), is(9));
        assertThat(list.pop(), is(8));
        assertThat(list.pop(), is(7));
        assertThat(list.pop(), is(6));
        assertThat(list.pop(), is(5));
    }

    @Ignore
    @Test
    public void canReturnListAsArray() {
        SimpleLinkedList list = new SimpleLinkedList();
        list.push(9);
        list.push(8);
        list.push(7);
        list.push(6);
        list.push(5);
        Integer[] expected = {5, 6, 7, 8, 9};
        assertEquals(list.asArray(Integer.class), expected);
    }

    @Ignore
    @Test
    public void canReturnEmptyListAsEmptyArray() {
        SimpleLinkedList list = new SimpleLinkedList();
        Object[] expected = {};
        assertEquals(list.asArray(Object.class), expected);
    }

}

@@ -495,33 +495,55 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A
-
     @Test%0A    pu
@@ -738,32 +738,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -962,32 +962,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -1318,32 +1318,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -1794,32 +1794,54 @@
   %7D%0A%0A    @Ignore
+(%22Remove to run test%22)
 %0A    @Test%0A    p
@@ -2148,32 +2148,32 @@
 pected);%0A    %7D%0A%0A
-
     @Ignore%0A    
@@ -2167,16 +2167,38 @@
  @Ignore
+(%22Remove to run test%22)
 %0A    @Te

add hint to @Ignore annotations