All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tinkerpop.gremlin.process.computer.util.ComputerDataStrategyTest Maven / Gradle / Ivy

The newest version!
package com.tinkerpop.gremlin.process.computer.util;

import com.tinkerpop.gremlin.AbstractGremlinTest;
import com.tinkerpop.gremlin.structure.Vertex;
import com.tinkerpop.gremlin.structure.VertexProperty;
import com.tinkerpop.gremlin.structure.strategy.StrategyGraph;
import org.junit.Test;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import static org.junit.Assert.*;

/**
 * @author Stephen Mallette (http://stephen.genoprime.com)
 */
public class ComputerDataStrategyTest extends AbstractGremlinTest {

    @Test
    public void shouldFilterHiddenProperties() {
        final StrategyGraph sg = g.strategy(new ComputerDataStrategy(new HashSet<>(Arrays.asList("***hidden-guy"))));

        final Vertex v = sg.addVertex("***hidden-guy", "X", "not-hidden-guy", "Y");
        final Iterator> props = v.iterators().propertyIterator();
        final VertexProperty v1 = props.next();
        assertEquals("Y", v1.value());
        assertEquals("not-hidden-guy", v1.key());
        assertFalse(props.hasNext());

        final Iterator values = v.iterators().valueIterator();
        assertEquals("Y", values.next());
        assertFalse(values.hasNext());
    }

    @Test
    public void shouldAccessHiddenProperties() {
        final StrategyGraph sg = g.strategy(new ComputerDataStrategy(new HashSet<>(Arrays.asList("***hidden-guy"))));

        final Vertex v = sg.addVertex("***hidden-guy", "X", "not-hidden-guy", "Y");
        final Iterator> props = v.iterators().propertyIterator("***hidden-guy");
        final VertexProperty v1 = props.next();
        assertEquals("X", v1.value());
        assertEquals("***hidden-guy", v1.key());
        assertFalse(props.hasNext());

        final Iterator values = v.iterators().valueIterator("***hidden-guy");
        assertEquals("X", values.next());
        assertFalse(values.hasNext());
    }

    @Test
    public void shouldHideHiddenKeys() {
        final StrategyGraph sg = g.strategy(new ComputerDataStrategy(new HashSet<>(Arrays.asList("***hidden-guy"))));

        final Vertex v = sg.addVertex("***hidden-guy", "X", "not-hidden-guy", "Y");
        final Set keys = v.keys();
        assertTrue(keys.contains("not-hidden-guy"));
        assertFalse(keys.contains("***hidden-guy"));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy