// Path: esper-test-utils/src/main/java/org/opencredo/esper/sample/CallRecordingListener.java
// public class CallRecordingListener extends AbstractCallRecorder implements UpdateListener {
// 
//     /*
//      * (non-Javadoc)
//      * 
//      * @see
//      * com.espertech.esper.client.UpdateListener#update(com.espertech.esper.
//      * client.EventBean[], com.espertech.esper.client.EventBean[])
//      */
//     public void update(EventBean[] eventBeans, EventBean[] eventBeans1) {
//         super.incrementCallCounter();
//     }
// 
//     public void update(EventBean[] eventBeans) {
//         super.incrementCallCounter();
//     }
// 
//     /**
//      * Method used when this class is being used as a subscriber as opposed to a
//      * listener.
//      * 
//      * @param event
//      *            The event detected
//      */
//     public void update(SampleEvent event) {
//         super.incrementCallCounter();
//     }
// }
// 
// Path: esper-test-utils/src/main/java/org/opencredo/esper/sample/SampleEvent.java
// public class SampleEvent {
//     private Status status = NEW;
// 
//     public synchronized void setStatus(Status status) {
//         this.status = status;
//     }
// 
//     public Status getStatus() {
//         return this.status;
//     }
// }


import static org.junit.Assert.assertEquals;
import com.espertech.esper.client.EPStatementState;
import org.junit.Before;
import org.junit.Test;
import org.opencredo.esper.sample.CallRecordingListener;
import org.opencredo.esper.sample.SampleEvent;
/*
 * OpenCredo-Esper - simplifies adopting Esper in Java applications. 
 * Copyright (C) 2010  OpenCredo Ltd.
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

package org.opencredo.esper;



/**
 * A unit test for the {@link EsperTemplate}.
 * 
 * @author Russ Miles (russ.miles@opencredo.com)
 * @author Aleksa Vukotic (aleksa.vukotic@opencredo.com)
 * 
 */
public class TestEsperTemplate {

    private EsperTemplate template;

    @Before
    public void setupStatementUnderTest() {
        this.template = new EsperTemplate();
    }

    @Test(expected = InvalidEsperConfigurationException.class)
    public void testExceptionRaisedWhenTemplateNotInitialized() {
// Path: esper-test-utils/src/main/java/org/opencredo/esper/sample/CallRecordingListener.java
// public class CallRecordingListener extends AbstractCallRecorder implements UpdateListener {
// 
//     /*
//      * (non-Javadoc)
//      * 
//      * @see
//      * com.espertech.esper.client.UpdateListener#update(com.espertech.esper.
//      * client.EventBean[], com.espertech.esper.client.EventBean[])
//      */
//     public void update(EventBean[] eventBeans, EventBean[] eventBeans1) {
//         super.incrementCallCounter();
//     }
// 
//     public void update(EventBean[] eventBeans) {
//         super.incrementCallCounter();
//     }
// 
//     /**
//      * Method used when this class is being used as a subscriber as opposed to a
//      * listener.
//      * 
//      * @param event
//      *            The event detected
//      */
//     public void update(SampleEvent event) {
//         super.incrementCallCounter();
//     }
// }
// 
// Path: esper-test-utils/src/main/java/org/opencredo/esper/sample/SampleEvent.java
// public class SampleEvent {
//     private Status status = NEW;
// 
//     public synchronized void setStatus(Status status) {
//         this.status = status;
//     }
// 
//     public Status getStatus() {
//         return this.status;
//     }
// }


// Path: esper-template/src/test/java/org/opencredo/esper/TestEsperTemplate.java
import static org.junit.Assert.assertEquals;
import com.espertech.esper.client.EPStatementState;
import org.junit.Before;
import org.junit.Test;
import org.opencredo.esper.sample.CallRecordingListener;
import org.opencredo.esper.sample.SampleEvent;

/*
 * OpenCredo-Esper - simplifies adopting Esper in Java applications. 
 * Copyright (C) 2010  OpenCredo Ltd.
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

package org.opencredo.esper;



/**
 * A unit test for the {@link EsperTemplate}.
 * 
 * @author Russ Miles (russ.miles@opencredo.com)
 * @author Aleksa Vukotic (aleksa.vukotic@opencredo.com)
 * 
 */
public class TestEsperTemplate {

    private EsperTemplate template;

    @Before
    public void setupStatementUnderTest() {
        this.template = new EsperTemplate();
    }

    @Test(expected = InvalidEsperConfigurationException.class)
    public void testExceptionRaisedWhenTemplateNotInitialized() {
        template.sendEvent(new SampleEvent());