Mega Code Archive

 
Categories / Java Tutorial / JUnit
 

Test your stack structure

import junit.framework.TestCase; public class TestMyStack extends TestCase {   public void testEmpty() throws Exception {     MyStack stack = new MyStack();     stack.checkInvariant();     stack.push("sample");     stack.checkInvariant();     assertEquals("sample", stack.pop());     stack.checkInvariant();     stack.delete(1);     stack.checkInvariant();   } } class MyStack {   public MyStack() {     stack = new String[100];     next_index = 0;   }   public String pop() {     return stack[--next_index];   }   public void delete(int n) {     next_index -= n;   }   public void push(String aString) {     stack[next_index++] = aString;   }   public String top() {     return stack[next_index - 1];   }   public void checkInvariant() throws Exception {     if (!(next_index >= 0 && next_index < stack.length)) {       throw new Exception("next_index out of range: " + next_index + " for stack length "           + stack.length);     }   }   private int next_index;   private String[] stack; }