Package com.tinkerpop.frames.modules.javahandler

Source Code of com.tinkerpop.frames.modules.javahandler.JavaHandlerTest$A

package com.tinkerpop.frames.modules.javahandler;

import java.util.HashSet;
import java.util.Set;

import junit.framework.Assert;

import org.junit.Before;
import org.junit.Test;

import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.tg.TinkerGraph;
import com.tinkerpop.blueprints.impls.tg.TinkerGraphFactory;
import com.tinkerpop.frames.FramedGraph;
import com.tinkerpop.frames.FramedGraphFactory;
import com.tinkerpop.frames.Property;
import com.tinkerpop.frames.domain.classes.Person;
import com.tinkerpop.frames.domain.classes.Project;
import com.tinkerpop.frames.domain.incidences.Knows;

/**
* @author Bryn Cooke
*
*/
public class JavaHandlerTest {

  private FramedGraph<TinkerGraph> g;

  @Test
  public void testJavaHandlerVertices() {
   
    Person person = g.getVertex(1, Person.class);
    String profile = person.getNameAndAge();
    Assert.assertEquals("marko (29)", profile);

    Person person2 = g.getVertex(2, Person.class);
    String profile2 = person2.getNameAndAge();
    Assert.assertEquals("vadas (27)", profile2);

    Set<Person> coCreators = new HashSet<Person>();

    Iterables.addAll(coCreators, person.getCoCreatorsJava());
    Assert.assertEquals(Sets.newHashSet(g.getVertex(4), g.getVertex(6)), coCreators);

  }

  @Test
  public void testJavaHandlerEdges() {
    Knows knows = g.getEdge(7, Direction.OUT, Knows.class);
    Assert.assertEquals("marko<->vadas", knows.getNames());
  }
 
 
  @Test
  public void testJavaHandlerClassAnnotation() {
    Project project = g.getVertex(5, Project.class);
    Assert.assertEquals("java", project.getLanguageUsingMixin());
  }
 
  @Test(expected=JavaHandlerException.class)
  public void testMethodNotImplemented() {
    Person person = g.getVertex(1, Person.class);
    person.notImplemented();
  }
 
  @Test
  public void testIntitializersVertices() {
    A a = g.addVertex(null, A.class);
    Assert.assertEquals("A", a.getProperty());
    B b = g.addVertex(null, B.class);
    Assert.assertEquals("AB", b.getProperty());
    C c = g.addVertex(null, C.class);
        Assert.assertTrue(c.getProperty().equals("ABCC2") || c.getProperty().equals("ABC2C"));
  }
 
  @Test
  public void testIntitializersEdges() {
    Vertex v = g.addVertex(null);
   
    A a = g.addEdge(null, v, v, "test", A.class);
    Assert.assertEquals("A", a.getProperty());
    B b = g.addEdge(null, v, v, "test", B.class);
    Assert.assertEquals("AB", b.getProperty());
    C c = g.addEdge(null, v, v, "test", C.class);
    Assert.assertTrue(c.getProperty().equals("ABCC2") || c.getProperty().equals("ABC2C"));
  }
 
  interface A {
   
    @Property("property")
    String getProperty();
   
    @Property("property")
    void setProperty(String property);
   
    abstract class Impl implements A {
      @Initializer
      void init() {
        setProperty("A");
      }
    }
  }
 
  interface B extends A {
    abstract class Impl implements B {
      @Initializer
      void init() {
        setProperty(getProperty() + "B");
      }
    }
  }
 
 
  interface C extends A, B {
    abstract class Impl implements C {
      @Initializer
      void init() {
        setProperty(getProperty() + "C");
      }
     
      @Initializer
      void init2() {
        setProperty(getProperty() + "C2");
      }
    }
  }

  @Before
  public void setup() {
    TinkerGraph base = TinkerGraphFactory.createTinkerGraph();
    g = new FramedGraphFactory(new JavaHandlerModule()).create(base);
   
  }
 
 
}
TOP

Related Classes of com.tinkerpop.frames.modules.javahandler.JavaHandlerTest$A

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.