package com.anuragkapur.pie.linkedlists; import org.junit.Test; import java.util.IntSummaryStatistics; import static org.junit.Assert.*; /** * @author anuragkapur */ public class LinkedListStackImplementationTest { @Test public void testPush() throws Exception { LinkedListStackImplementation<Integer> stack = new LinkedListStackImplementation<>(); stack.push(1); stack.push(2); stack.push(3); assertEquals("3,2,1",stack.toString()); } @Test public void testPop() throws Exception { LinkedListStackImplementation<Integer> stack = new LinkedListStackImplementation<>(); stack.push(1); stack.push(2); stack.push(3); assertEquals(Integer.valueOf(3), stack.pop()); assertEquals(Integer.valueOf(2), stack.pop()); assertEquals(Integer.valueOf(1), stack.pop()); assertEquals(null, stack.pop()); } @Test public void testPopAndPush() throws Exception { LinkedListStackImplementation<Integer> stack = new LinkedListStackImplementation<>(); stack.push(1); stack.push(2); stack.push(3); assertEquals(Integer.valueOf(3), stack.pop()); assertEquals(Integer.valueOf(2), stack.pop()); assertEquals(Integer.valueOf(1), stack.pop()); assertEquals(null, stack.pop()); assertEquals(null, stack.pop()); stack.push(5); stack.push(4); assertEquals("4,5", stack.toString()); } @Test public void testPeek() throws Exception { } @Test public void testSize() throws Exception { LinkedListStackImplementation<Integer> stack = new LinkedListStackImplementation<>(); stack.push(1); stack.push(2); stack.push(3); assertEquals(3, stack.size()); stack.peek(); assertEquals(3, stack.size()); stack.pop(); assertEquals(2, stack.size()); stack.pop(); stack.pop(); assertEquals(0, stack.size()); stack.pop(); stack.pop(); stack.pop(); stack.pop(); stack.pop(); assertEquals(0, stack.size()); } }