3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-11-08 04:20:06 +01:00

Register a platform for expression tests

Dieser Commit ist enthalten in:
Kenzie Togami 2017-11-06 10:28:32 -08:00
Ursprung bb923aeb59
Commit 21db86f26b
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 5D200B325E157A81
2 geänderte Dateien mit 36 neuen und 26 gelöschten Zeilen

Datei anzeigen

@ -127,12 +127,15 @@ public class Expression {
((Variable) invokable).value = values[i]; ((Variable) invokable).value = values[i];
} }
pushInstance();
try {
Future<Double> result = evalThread.submit(new Callable<Double>() { Future<Double> result = evalThread.submit(new Callable<Double>() {
@Override @Override
public Double call() throws Exception { public Double call() throws Exception {
pushInstance();
try {
return root.getValue(); return root.getValue();
} finally {
popInstance();
}
} }
}); });
try { try {
@ -153,9 +156,6 @@ public class Expression {
result.cancel(true); result.cancel(true);
throw new EvaluationException(-1, "Calculations exceeded time limit."); throw new EvaluationException(-1, "Calculations exceeded time limit.");
} }
} finally {
popInstance();
}
} }
public void optimize() throws EvaluationException { public void optimize() throws EvaluationException {

Datei anzeigen

@ -24,13 +24,23 @@ import static java.lang.Math.sin;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import org.junit.Before;
import org.junit.Test;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.event.platform.PlatformReadyEvent;
import com.sk89q.worldedit.internal.expression.lexer.LexerException; import com.sk89q.worldedit.internal.expression.lexer.LexerException;
import com.sk89q.worldedit.internal.expression.parser.ParserException; import com.sk89q.worldedit.internal.expression.parser.ParserException;
import com.sk89q.worldedit.internal.expression.runtime.EvaluationException; import com.sk89q.worldedit.internal.expression.runtime.EvaluationException;
import com.sk89q.worldedit.internal.expression.runtime.ExpressionEnvironment; import com.sk89q.worldedit.internal.expression.runtime.ExpressionEnvironment;
import org.junit.Test;
public class ExpressionTest { public class ExpressionTest {
@Before
public void setup() {
WorldEdit.getInstance().getPlatformManager().register(new ExpressionPlatform());
WorldEdit.getInstance().getPlatformManager().handlePlatformReady(new PlatformReadyEvent());
}
@Test @Test
public void testEvaluate() throws ExpressionException { public void testEvaluate() throws ExpressionException {
// check // check