// Path: src/main/java/com/apresa/restflow/fsm/Event.java
// public class Event {
// 
// 	private String name;
// 	private Map<String, Object> params = new HashMap<>();
// 
// 	public Event(Object name) {
// 		this.name = name.toString();
// 	}
// 
// 	public static Event build(Object name) {
// 		return new Event(name);
// 	}
// 
// 	public Event param(String name, Object value) {
// 		this.params.put(name, value);
// 		return this;
// 	}
// 
// 	@SuppressWarnings("unchecked")
// 	public <T> T getParameter(String name) {
// 		return (T) params.get(name);
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// }
// 
// Path: src/main/java/com/apresa/restflow/fsm/StateMachineException.java
// public class StateMachineException extends Exception {
// 
// 	public StateMachineException() {
// 		super();
// 	}
// 
// 	public StateMachineException(String arg0, Throwable arg1, boolean arg2,
// 			boolean arg3) {
// 		super(arg0, arg1, arg2, arg3);
// 	}
// 
// 	public StateMachineException(String arg0, Throwable arg1) {
// 		super(arg0, arg1);
// 	}
// 
// 	public StateMachineException(String arg0) {
// 		super(arg0);
// 	}
// 
// 	public StateMachineException(Throwable baseException) {
// 		super(baseException);
// 	}
// 
// 	private static final long serialVersionUID = -7984877548891413015L;
// 
// 
// }


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import org.junit.Test;
import com.apresa.restflow.fsm.Event;
import com.apresa.restflow.fsm.StateMachineException;
package com.apresa.restflow.samples.error;




public class ErrorFlowTests {

	ErrorFlow flow = new ErrorFlow();

	@Test
	public void itShouldRaiseExceptionsThatHappen() throws Exception {

// Path: src/main/java/com/apresa/restflow/fsm/Event.java
// public class Event {
// 
// 	private String name;
// 	private Map<String, Object> params = new HashMap<>();
// 
// 	public Event(Object name) {
// 		this.name = name.toString();
// 	}
// 
// 	public static Event build(Object name) {
// 		return new Event(name);
// 	}
// 
// 	public Event param(String name, Object value) {
// 		this.params.put(name, value);
// 		return this;
// 	}
// 
// 	@SuppressWarnings("unchecked")
// 	public <T> T getParameter(String name) {
// 		return (T) params.get(name);
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// }
// 
// Path: src/main/java/com/apresa/restflow/fsm/StateMachineException.java
// public class StateMachineException extends Exception {
// 
// 	public StateMachineException() {
// 		super();
// 	}
// 
// 	public StateMachineException(String arg0, Throwable arg1, boolean arg2,
// 			boolean arg3) {
// 		super(arg0, arg1, arg2, arg3);
// 	}
// 
// 	public StateMachineException(String arg0, Throwable arg1) {
// 		super(arg0, arg1);
// 	}
// 
// 	public StateMachineException(String arg0) {
// 		super(arg0);
// 	}
// 
// 	public StateMachineException(Throwable baseException) {
// 		super(baseException);
// 	}
// 
// 	private static final long serialVersionUID = -7984877548891413015L;
// 
// 
// }


// Path: src/test/java/com/apresa/restflow/samples/error/ErrorFlowTests.java
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import org.junit.Test;
import com.apresa.restflow.fsm.Event;
import com.apresa.restflow.fsm.StateMachineException;

package com.apresa.restflow.samples.error;




public class ErrorFlowTests {

	ErrorFlow flow = new ErrorFlow();

	@Test
	public void itShouldRaiseExceptionsThatHappen() throws Exception {

		try {