Package com.tinkerpop.frames

Source Code of com.tinkerpop.frames.FrameInitializerTest

package com.tinkerpop.frames;

import com.tinkerpop.blueprints.Element;
import com.tinkerpop.blueprints.Graph;
import com.tinkerpop.blueprints.impls.tg.TinkerGraphFactory;
import com.tinkerpop.frames.domain.classes.Person;
import com.tinkerpop.frames.domain.incidences.Knows;
import com.tinkerpop.frames.modules.AbstractModule;

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

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

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

    private FramedGraph<Graph> framedGraph;

    @Before
    public void setup() {
        Graph graph = TinkerGraphFactory.createTinkerGraph();
        framedGraph = new FramedGraphFactory(new AbstractModule(){
          @Override
          protected void doConfigure(FramedGraphConfiguration config) {
            config.addFrameInitializer(nameDefaulter);
            config.addFrameInitializer(weightDefaulter);
          }
        }).create(graph);
       
    }
   
    @Test
    public void testDeprecatedRegistration() {
      Graph graph = TinkerGraphFactory.createTinkerGraph();
        FramedGraph<Graph> framedGraph = new FramedGraph(graph);
        framedGraph.registerFrameInitializer(nameDefaulter);
        Person person = framedGraph.addVertex(null, Person.class);
        assertEquals("Defaulted", person.getName());
       
    }


    @Test
    public void testVertexInitialization() {
        Person person = framedGraph.addVertex(null, Person.class);
        assertEquals("Defaulted", person.getName());
    }

    @Test
    public void testEdgeInitialization() {
        Person person1 = framedGraph.addVertex(null, Person.class);
        Person person2 = framedGraph.addVertex(null, Person.class);
        person1.addKnows(person2);
        assertEquals(Float.valueOf(1.0f), person1.getKnows().iterator().next().getWeight());
    }

    public static FrameInitializer nameDefaulter = new FrameInitializer() {

        @Override
        public void initElement(Class<?> kind, FramedGraph<?> framedGraph, Element element) {
            if (kind == Person.class) {
                assertNotNull(framedGraph);
                element.setProperty("name", "Defaulted");
            }
        }
    };

    public static FrameInitializer weightDefaulter = new FrameInitializer() {

        @Override
        public void initElement(Class<?> kind, FramedGraph<?> framedGraph, Element element) {
            assertNotNull(framedGraph);
            if (kind == Knows.class) {
                element.setProperty("weight", 1.0f);
            }
        }
    };

}
TOP

Related Classes of com.tinkerpop.frames.FrameInitializerTest

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.