/*
 *
 *  * Copyright 2010-2014 Orient Technologies LTD (info(at)orientechnologies.com)
 *  *
 *  * Licensed under the Apache License, Version 2.0 (the "License");
 *  * you may not use this file except in compliance with the License.
 *  * You may obtain a copy of the License at
 *  *
 *  *      http://www.apache.org/licenses/LICENSE-2.0
 *  *
 *  * Unless required by applicable law or agreed to in writing, software
 *  * distributed under the License is distributed on an "AS IS" BASIS,
 *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  * See the License for the specific language governing permissions and
 *  * limitations under the License.
 *
 */

package com.orientechnologies.orient.etl.extractor;

import com.orientechnologies.orient.etl.OETLProcessor;
import com.tinkerpop.blueprints.impls.orient.OrientGraph;

/**
 * Tests ETL Field Transformer.
 *
 * @author Luca Garulli
 */
public class EdgeTransformerTest extends ETLBaseTest {
  OrientGraph graph;

  public void testNotLightweightEdge() {
    OETLProcessor proc = getProcessor(
        "{source: { content: { value: 'name,surname,friend\nJay,Miner,Luca' } }, extractor : { row: {} },"
            + " transformers: [{csv: {}}, {vertex: {class:'V1'}}, {edge:{class:'Friend',joinFieldName:'friend',lookup:'V2.name'}},"
            + "], loader: { orientdb: { dbURL: 'memory:EdgeTransformerTest', dbType:'graph', useLightweightEdges:false } } }")
        .execute();

    assertEquals(graph.countVertices("V1"), 1);
    assertEquals(graph.countVertices("V2"), 1);
    assertEquals(graph.countEdges("Friend"), 1);
  }

  public void setUp() {
    graph = new OrientGraph("memory:EdgeTransformerTest");
    graph.setUseLightweightEdges(false);

    graph.createVertexType("V1");
    graph.createVertexType("V2");
    graph.createEdgeType("Friend");

    graph.addVertex("class:V2").setProperty("name", "Luca");
    graph.commit();
  }

  public void tearDown() {
    graph.drop();
  }
}

@@ -995,16 +995,406 @@
 graph;%0A%0A
+  @Override%0A  public void setUp() %7B%0A    graph = new OrientGraph(%22memory:EdgeTransformerTest%22);%0A    graph.setUseLightweightEdges(false);%0A%0A    graph.createVertexType(%22V1%22);%0A    graph.createVertexType(%22V2%22);%0A    graph.createEdgeType(%22Friend%22);%0A%0A    graph.addVertex(%22class:V2%22).setProperty(%22name%22, %22Luca%22);%0A    graph.commit();%0A  %7D%0A%0A  @Override%0A  public void tearDown() %7B%0A    graph.drop();%0A  %7D%0A%0A
   public
@@ -2004,373 +2004,7 @@
 %0A  %7D
-%0A%0A  public void setUp() %7B%0A    graph = new OrientGraph(%22memory:EdgeTransformerTest%22);%0A    graph.setUseLightweightEdges(false);%0A%0A    graph.createVertexType(%22V1%22);%0A    graph.createVertexType(%22V2%22);%0A    graph.createEdgeType(%22Friend%22);%0A%0A    graph.addVertex(%22class:V2%22).setProperty(%22name%22, %22Luca%22);%0A    graph.commit();%0A  %7D%0A%0A  public void tearDown() %7B%0A    graph.drop();%0A  %7D
 %0A%7D%0A

Rearrange setUp() in EdgeTransformerTest