// Path: src/main/java/org/neo4j/neode/logging/Log.java
// public interface Log
// {
//     void write( String value );
// }
// 
// Path: src/main/java/org/neo4j/neode/logging/SysOutLog.java
// public final class SysOutLog implements Log
// {
//     public static final Log INSTANCE = new SysOutLog();
// 
//     private SysOutLog()
//     {
//     }
// 
//     @Override
//     public void write( String value )
//     {
//         System.out.println( value );
//     }
// }
// 
// Path: src/test/java/org/neo4j/neode/test/Db.java
// public final class Db
// {
//     private Db()
//     {
//     }
// 
//     public static GraphDatabaseService impermanentDb()
//     {
//         Map<String, String> params = new HashMap<String, String>();
//         params.put( "online_backup_enabled", "false" );
// 
//         return new TestGraphDatabaseFactory().newImpermanentDatabaseBuilder().setConfig( params ).newGraphDatabase();
//     }
// 
//     public static GraphDatabaseService tempDb()
//     {
//         return new GraphDatabaseFactory().newEmbeddedDatabase( createTempDatabaseDir().getAbsolutePath() );
//     }
// 
//     private static File createTempDatabaseDir()
//     {
// 
//         File d;
//         try
//         {
//             d = File.createTempFile( "datasetbuilder-", "dir" );
//             System.out.println( String.format( "Created a new Neo4j database at [%s]", d.getAbsolutePath() ) );
//         }
//         catch ( IOException e )
//         {
//             throw new RuntimeException( e );
//         }
//         if ( !d.delete() )
//         {
//             throw new RuntimeException( "temp config directory pre-delete failed" );
//         }
//         if ( !d.mkdirs() )
//         {
//             throw new RuntimeException( "temp config directory not created" );
//         }
//         d.deleteOnExit();
//         return d;
//     }
// 
//     public static void usingSampleDataset( WithSampleDataset f )
//     {
//         GraphDatabaseService db = Db.impermanentDb();
//         Node firstNode, secondNode, thirdNode;
//         try ( Transaction tx = db.beginTx() )
//         {
//             firstNode = db.createNode();
//             secondNode = db.createNode();
//             thirdNode = db.createNode();
//             tx.success();
//         }
// 
//         try ( Transaction tx = db.beginTx() )
//         {
//             f.execute( db, firstNode, secondNode, thirdNode );
//             tx.success();
//         }
//         db.shutdown();
//     }
// 
//     public interface WithSampleDataset
//     {
//         public void execute( GraphDatabaseService db, Node firstNode, Node secondNode, Node thirdNode );
//     }
// 
// 
// }


import org.junit.Test;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.event.TransactionData;
import org.neo4j.graphdb.event.TransactionEventHandler;
import org.neo4j.neode.logging.Log;
import org.neo4j.neode.logging.SysOutLog;
import org.neo4j.neode.test.Db;
import static org.junit.Assert.assertEquals;
        public int batchSize()
        {
            return batchSize;
        }

        @Override
        public void execute( int iteration )
        {
            db.createNode();
            callCount++;
        }

        @Override
        public String description()
        {
            return "Dummy batch command";
        }

        @Override
        public String shortDescription()
        {
            return "";
        }

        @Override
        public void onBegin( Log log )
        {
        }

        @Override
// Path: src/main/java/org/neo4j/neode/logging/Log.java
// public interface Log
// {
//     void write( String value );
// }
// 
// Path: src/main/java/org/neo4j/neode/logging/SysOutLog.java
// public final class SysOutLog implements Log
// {
//     public static final Log INSTANCE = new SysOutLog();
// 
//     private SysOutLog()
//     {
//     }
// 
//     @Override
//     public void write( String value )
//     {
//         System.out.println( value );
//     }
// }
// 
// Path: src/test/java/org/neo4j/neode/test/Db.java
// public final class Db
// {
//     private Db()
//     {
//     }
// 
//     public static GraphDatabaseService impermanentDb()
//     {
//         Map<String, String> params = new HashMap<String, String>();
//         params.put( "online_backup_enabled", "false" );
// 
//         return new TestGraphDatabaseFactory().newImpermanentDatabaseBuilder().setConfig( params ).newGraphDatabase();
//     }
// 
//     public static GraphDatabaseService tempDb()
//     {
//         return new GraphDatabaseFactory().newEmbeddedDatabase( createTempDatabaseDir().getAbsolutePath() );
//     }
// 
//     private static File createTempDatabaseDir()
//     {
// 
//         File d;
//         try
//         {
//             d = File.createTempFile( "datasetbuilder-", "dir" );
//             System.out.println( String.format( "Created a new Neo4j database at [%s]", d.getAbsolutePath() ) );
//         }
//         catch ( IOException e )
//         {
//             throw new RuntimeException( e );
//         }
//         if ( !d.delete() )
//         {
//             throw new RuntimeException( "temp config directory pre-delete failed" );
//         }
//         if ( !d.mkdirs() )
//         {
//             throw new RuntimeException( "temp config directory not created" );
//         }
//         d.deleteOnExit();
//         return d;
//     }
// 
//     public static void usingSampleDataset( WithSampleDataset f )
//     {
//         GraphDatabaseService db = Db.impermanentDb();
//         Node firstNode, secondNode, thirdNode;
//         try ( Transaction tx = db.beginTx() )
//         {
//             firstNode = db.createNode();
//             secondNode = db.createNode();
//             thirdNode = db.createNode();
//             tx.success();
//         }
// 
//         try ( Transaction tx = db.beginTx() )
//         {
//             f.execute( db, firstNode, secondNode, thirdNode );
//             tx.success();
//         }
//         db.shutdown();
//     }
// 
//     public interface WithSampleDataset
//     {
//         public void execute( GraphDatabaseService db, Node firstNode, Node secondNode, Node thirdNode );
//     }
// 
// 
// }


// Path: src/test/java/org/neo4j/neode/DatasetTest.java
import org.junit.Test;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.event.TransactionData;
import org.neo4j.graphdb.event.TransactionEventHandler;
import org.neo4j.neode.logging.Log;
import org.neo4j.neode.logging.SysOutLog;
import org.neo4j.neode.test.Db;
import static org.junit.Assert.assertEquals;

        public int batchSize()
        {
            return batchSize;
        }

        @Override
        public void execute( int iteration )
        {
            db.createNode();
            callCount++;
        }

        @Override
        public String description()
        {
            return "Dummy batch command";
        }

        @Override
        public String shortDescription()
        {
            return "";
        }

        @Override
        public void onBegin( Log log )
        {
        }

        @Override
        public void onEnd( Log log )