// Path: src/main/java/org/apache/flink/mapping/neo4j/Neo4JDeserializationMappingStrategy.java
// public class Neo4JDeserializationMappingStrategy<T, M extends DeserializationMapper<T>> implements Serializable {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// 	/**
// 	 * The templated cypher query that will be executed on Neo4J
// 	 */
// 	private String templateStatement;
// 
// 	/**
// 	 * The mapper that will map a item from a Flink datastream/dataset to a set
// 	 * of parameters
// 	 * 
// 	 * @see DeserializationMapper
// 	 */
// 	private M mapper;
// 
// 	/**
// 	 * 
// 	 * @param templateStatement
// 	 *            the cypher statement template
// 	 * @param mapper
// 	 *            an actual DeserializationMapper implementation
// 	 */
// 	public Neo4JDeserializationMappingStrategy(String templateStatement, M mapper) {
// 		this.templateStatement = templateStatement;
// 		this.mapper = mapper;
// 	}
// 
// 	/**
// 	 * Generate a statement with parameters (templated cypher query) for a given
// 	 * item and a convert function.
// 	 * 
// 	 * @param item
// 	 *            a data stream item
// 	 * @return the executable statement with its text and parameters
// 	 */
// 	public Statement getStatement(T item) {
// 		Statement statement = new Statement(templateStatement);
// 
// 		Map<String, Object> parameters = mapper.deserialize(item);
// 		return statement.withParameters(parameters);
// 	}
// 
// 	protected void setStatement(String templateStatement) {
// 		this.templateStatement = templateStatement;
// 	}
// }


import java.util.Collection;
import org.apache.flink.mapping.neo4j.Neo4JDeserializationMappingStrategy;
import org.junit.Assert;
import org.junit.Test;
import org.neo4j.driver.v1.Statement;
package org.apache.flink.mapping.neo4j;



public class Neo4JDeserializationMappingStrategyTest {

	final StringValuesMapper stringValuesMapper = new StringValuesMapper();

	@Test
	public void testMappingStrategy() {

		String templateStatement = "MATCH (n {id:{key}}) return n";
// Path: src/main/java/org/apache/flink/mapping/neo4j/Neo4JDeserializationMappingStrategy.java
// public class Neo4JDeserializationMappingStrategy<T, M extends DeserializationMapper<T>> implements Serializable {
// 
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 
// 	/**
// 	 * The templated cypher query that will be executed on Neo4J
// 	 */
// 	private String templateStatement;
// 
// 	/**
// 	 * The mapper that will map a item from a Flink datastream/dataset to a set
// 	 * of parameters
// 	 * 
// 	 * @see DeserializationMapper
// 	 */
// 	private M mapper;
// 
// 	/**
// 	 * 
// 	 * @param templateStatement
// 	 *            the cypher statement template
// 	 * @param mapper
// 	 *            an actual DeserializationMapper implementation
// 	 */
// 	public Neo4JDeserializationMappingStrategy(String templateStatement, M mapper) {
// 		this.templateStatement = templateStatement;
// 		this.mapper = mapper;
// 	}
// 
// 	/**
// 	 * Generate a statement with parameters (templated cypher query) for a given
// 	 * item and a convert function.
// 	 * 
// 	 * @param item
// 	 *            a data stream item
// 	 * @return the executable statement with its text and parameters
// 	 */
// 	public Statement getStatement(T item) {
// 		Statement statement = new Statement(templateStatement);
// 
// 		Map<String, Object> parameters = mapper.deserialize(item);
// 		return statement.withParameters(parameters);
// 	}
// 
// 	protected void setStatement(String templateStatement) {
// 		this.templateStatement = templateStatement;
// 	}
// }


// Path: src/test/java/org/apache/flink/mapping/neo4j/Neo4JDeserializationMappingStrategyTest.java
import java.util.Collection;
import org.apache.flink.mapping.neo4j.Neo4JDeserializationMappingStrategy;
import org.junit.Assert;
import org.junit.Test;
import org.neo4j.driver.v1.Statement;

package org.apache.flink.mapping.neo4j;



public class Neo4JDeserializationMappingStrategyTest {

	final StringValuesMapper stringValuesMapper = new StringValuesMapper();

	@Test
	public void testMappingStrategy() {

		String templateStatement = "MATCH (n {id:{key}}) return n";
		Neo4JDeserializationMappingStrategy<String, StringValuesMapper> mappingStrategy = new Neo4JDeserializationMappingStrategy<String, StringValuesMapper>(