@Test
    @FeatureRequirement(featureClass = Graph.Features.GraphFeatures.class, feature = FEATURE_TRANSACTIONS)
    @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_ADD_VERTICES)
    @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_ADD_PROPERTY)
    public void shouldChangeVertexProperty() {
        final GraphTraversalSource gtx = g.tx().begin();

        // create vertex with test property
        final Vertex v1 = gtx.addV().property("test", 1).next();
        gtx.tx().commit();

        assertEquals(1, gtx.V(v1.id()).values("test").next());

        // change test property
        gtx.V(v1.id()).property("test", 2).iterate();
        gtx.tx().commit();

        // should be only 1 vertex with updated property
        assertEquals(1L, (long) gtx.V().count().next());
        assertEquals(2, gtx.V(v1.id()).values("test").next());
    }
Tests for graphs that has multithreaded access
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/TransactionMultiThreadedTest.java