// Path: src/main/java/nl/ulso/sprox/XmlProcessor.java
// public interface XmlProcessor<T> {
// 
//     /**
//      * Process XML by pulling it from a reader. The reader is not closed. If buffering is needed, this must be
//      * provided by the caller.
//      *
//      * @param reader The reader to pull the XML from.
//      * @return The result of processing the XML; is {@code null} only if {@code T} is {@link java.lang.Void}.
//      * @throws XmlProcessorException If an error occurred while processing the XML
//      */
//     T execute(Reader reader) throws XmlProcessorException;
// 
//     /**
//      * Process XML by pulling it from an input stream. The input stream is not closed. If buffering is needed, this
//      * must be provided by the caller.
//      *
//      * @param inputStream The stream to pull the XML from.
//      * @return The result of processing the XML; is {@code null} only if {@code T} is {@link java.lang.Void}.
//      * @throws XmlProcessorException If an error occurred while processing the XML
//      */
//     T execute(InputStream inputStream) throws XmlProcessorException;
// }
// 
// Path: src/test/java/nl/ulso/sprox/SproxTests.java
// public static <T> XmlProcessorBuilder<T> createXmlProcessorBuilder(Class<T> resultClass) {
//     return new StaxBasedXmlProcessorBuilderFactory().createXmlProcessorBuilder(requireNonNull(resultClass));
// }


import nl.ulso.sprox.Node;
import nl.ulso.sprox.XmlProcessor;
import org.junit.Test;
import static nl.ulso.sprox.SproxTests.createXmlProcessorBuilder;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
package nl.ulso.sprox.movies;



public class FirstMovieFirstStarSelectorTest {

    @Test
    public void testInjectionOfSingleObjects() throws Exception {
        final XmlProcessor<Movie> processor = createXmlProcessorBuilder(Movie.class)
                .addControllerObject(new FirstMovieFirstStarSelector())
                .buildXmlProcessor();
// Path: src/main/java/nl/ulso/sprox/XmlProcessor.java
// public interface XmlProcessor<T> {
// 
//     /**
//      * Process XML by pulling it from a reader. The reader is not closed. If buffering is needed, this must be
//      * provided by the caller.
//      *
//      * @param reader The reader to pull the XML from.
//      * @return The result of processing the XML; is {@code null} only if {@code T} is {@link java.lang.Void}.
//      * @throws XmlProcessorException If an error occurred while processing the XML
//      */
//     T execute(Reader reader) throws XmlProcessorException;
// 
//     /**
//      * Process XML by pulling it from an input stream. The input stream is not closed. If buffering is needed, this
//      * must be provided by the caller.
//      *
//      * @param inputStream The stream to pull the XML from.
//      * @return The result of processing the XML; is {@code null} only if {@code T} is {@link java.lang.Void}.
//      * @throws XmlProcessorException If an error occurred while processing the XML
//      */
//     T execute(InputStream inputStream) throws XmlProcessorException;
// }
// 
// Path: src/test/java/nl/ulso/sprox/SproxTests.java
// public static <T> XmlProcessorBuilder<T> createXmlProcessorBuilder(Class<T> resultClass) {
//     return new StaxBasedXmlProcessorBuilderFactory().createXmlProcessorBuilder(requireNonNull(resultClass));
// }


// Path: src/test/java/nl/ulso/sprox/movies/FirstMovieFirstStarSelectorTest.java
import nl.ulso.sprox.Node;
import nl.ulso.sprox.XmlProcessor;
import org.junit.Test;
import static nl.ulso.sprox.SproxTests.createXmlProcessorBuilder;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;

package nl.ulso.sprox.movies;



public class FirstMovieFirstStarSelectorTest {

    @Test
    public void testInjectionOfSingleObjects() throws Exception {
        final XmlProcessor<Movie> processor = createXmlProcessorBuilder(Movie.class)
                .addControllerObject(new FirstMovieFirstStarSelector())
                .buildXmlProcessor();
        final Movie movie = processor.execute(getClass().getResourceAsStream("/movies.xml"));