Package com.tinkerpop.frames.core

Source Code of com.tinkerpop.frames.core.FramedGraphQueryImplTest

package com.tinkerpop.frames.core;

import static org.junit.Assert.assertFalse;
import static org.mockito.Matchers.eq;
import static org.mockito.Matchers.same;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.stub;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.GraphQuery;
import com.tinkerpop.blueprints.Predicate;
import com.tinkerpop.blueprints.Query.Compare;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.frames.FramedGraph;
import com.tinkerpop.frames.FramedGraphFactory;
import com.tinkerpop.frames.domain.classes.Person;
import com.tinkerpop.frames.domain.incidences.Knows;

/**
* @author Bryn Cooke
*
*/
public class FramedGraphQueryImplTest {
 
  @Test
  public void testDelegation() {
    GraphQuery mockGraphQuery = mock(GraphQuery.class);
    FramedGraph framedGraph = new FramedGraphFactory().create(null);
   
    FramedGraphQueryImpl query = new FramedGraphQueryImpl(framedGraph, mockGraphQuery);
    stub(mockGraphQuery.has("")).toReturn(mockGraphQuery);
    query.has("");
    verify(mockGraphQuery).has("");
   
   
    stub(mockGraphQuery.has("", "bar")).toReturn(mockGraphQuery);
    query.has("", "bar");
    verify(mockGraphQuery).has("", "bar");
   
   
    Predicate predicate = new Predicate() {
     
      @Override
      public boolean evaluate(Object first, Object second) {
        return false;
      }
    };
    stub(mockGraphQuery.has("", predicate, "bar")).toReturn(mockGraphQuery);
    query.has("", predicate, "bar");
    verify(mockGraphQuery).has(eq(""), same(predicate), eq("bar"));
   
   
    stub(mockGraphQuery.has("", 2, Compare.EQUAL)).toReturn(mockGraphQuery);
    query.has("", 2, Compare.EQUAL);
    verify(mockGraphQuery).has(eq(""), same(2), eq(Compare.EQUAL));
   
    stub(mockGraphQuery.hasNot("")).toReturn(mockGraphQuery);
    query.hasNot("");
    verify(mockGraphQuery).hasNot(eq(""));
   
    stub(mockGraphQuery.hasNot("", "bar")).toReturn(mockGraphQuery);
    query.hasNot("", "bar");
    verify(mockGraphQuery).hasNot(eq(""), eq("bar"));
   
   
    stub(mockGraphQuery.interval("", "bar", "bif")).toReturn(mockGraphQuery);
    query.interval("", "bar", "bif");
    verify(mockGraphQuery).interval(eq(""), eq("bar"), eq("bif"));
   
    stub(mockGraphQuery.limit(1)).toReturn(mockGraphQuery);
    query.limit(1);
    verify(mockGraphQuery).limit(1);
   
   
   
    List<Vertex> v = new ArrayList<Vertex>();
    stub(mockGraphQuery.vertices()).toReturn(v);
    query.vertices();
    verify(mockGraphQuery).vertices();
   
    Iterable<Person> people = query.vertices(Person.class);
    verify(mockGraphQuery, times(2)).vertices();
    assertFalse(people.iterator().hasNext());
   
   
    List<Edge> e = new ArrayList<Edge>();
    stub(mockGraphQuery.edges()).toReturn(e);
    query.edges();
    verify(mockGraphQuery).edges();
   
    Iterable<Knows> knows = query.edges(Knows.class);
    verify(mockGraphQuery, times(2)).edges();
    assertFalse(knows.iterator().hasNext());
   
  }
 
 
}
TOP

Related Classes of com.tinkerpop.frames.core.FramedGraphQueryImplTest

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.