@Test
    public void shouldParseVariablesWithFunctionNameMatches() {
        assertEquals(Arrays.asList("c", "expa"), new ArrayList<>(MathStep.getVariables("c - expa")));
        assertEquals(Arrays.asList("c", "expa"), new ArrayList<>(MathStep.getVariables("c - expa - exp(13)")));
        assertEquals(Arrays.asList("c", "expa"), new ArrayList<>(MathStep.getVariables("sin 3 - c - expa - exp(13)")));
        assertEquals(Arrays.asList("c", "cosa"), new ArrayList<>(MathStep.getVariables("c + cosa - 2cos(13)")));
        assertEquals(Arrays.asList("cosa", "c"), new ArrayList<>(MathStep.getVariables("cosa + c")));
        assertEquals(Arrays.asList("number1", "expected_value"), new ArrayList<>(MathStep.getVariables("number1-expected_value")));
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/MathStepTest.java