// Path: src/main/java/org/jparsercombinator/ParseException.java
// public class ParseException extends RuntimeException {
// 
//   ParseException(String message) {
//     super(message);
//   }
// 
// }
// 
// Path: src/main/java/org/jparsercombinator/Parser.java
// public interface Parser<T> {
// 
//   /**
//    * Parses input and returns a result of type {@code T}. May throw {@code ParseException} depending
//    * on the implementation.
//    *
//    * @param input to be parsed
//    * @return parse result, e.g. an AST
//    */
//   T apply(String input);
// 
// }


import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.jparsercombinator.ParseException;
import org.jparsercombinator.Parser;
package org.jparsercombinator.examples.expression;



public class ExpressionParserTest {

  private Parser<Integer> expressionParser = new ExpressionParser();

  @Test(expected = ParseException.class)
  public void shouldFailOnEmptyInput() {
// Path: src/main/java/org/jparsercombinator/ParseException.java
// public class ParseException extends RuntimeException {
// 
//   ParseException(String message) {
//     super(message);
//   }
// 
// }
// 
// Path: src/main/java/org/jparsercombinator/Parser.java
// public interface Parser<T> {
// 
//   /**
//    * Parses input and returns a result of type {@code T}. May throw {@code ParseException} depending
//    * on the implementation.
//    *
//    * @param input to be parsed
//    * @return parse result, e.g. an AST
//    */
//   T apply(String input);
// 
// }


// Path: src/test/java/org/jparsercombinator/examples/expression/ExpressionParserTest.java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.jparsercombinator.ParseException;
import org.jparsercombinator.Parser;

package org.jparsercombinator.examples.expression;



public class ExpressionParserTest {

  private Parser<Integer> expressionParser = new ExpressionParser();

  @Test(expected = ParseException.class)
  public void shouldFailOnEmptyInput() {
    expressionParser.apply("");