mirror of
https://github.com/DanilaFe/abacus
synced 2024-07-01 23:06:11 -07:00
37 lines
1.2 KiB
Java
37 lines
1.2 KiB
Java
|
package org.nwapw.abacus.tests;
|
||
|
|
||
|
import org.junit.Assert;
|
||
|
import org.junit.BeforeClass;
|
||
|
import org.nwapw.abacus.Abacus;
|
||
|
import org.nwapw.abacus.number.NumberInterface;
|
||
|
import org.nwapw.abacus.plugin.StandardPlugin;
|
||
|
import org.nwapw.abacus.tree.TreeNode;
|
||
|
|
||
|
public class CalculationTests {
|
||
|
|
||
|
private static Abacus abacus = new Abacus();
|
||
|
|
||
|
@BeforeClass
|
||
|
public static void prepareTests(){
|
||
|
abacus.getPluginManager().addInstantiated(new StandardPlugin(abacus.getPluginManager()));
|
||
|
abacus.getPluginManager().load();
|
||
|
}
|
||
|
|
||
|
private void testOutput(String input, String parseOutput, String output){
|
||
|
TreeNode parsedTree = abacus.parseString(input);
|
||
|
Assert.assertNotNull(parsedTree);
|
||
|
Assert.assertEquals(parsedTree.toString(), parseOutput);
|
||
|
NumberInterface result = abacus.evaluateTree(parsedTree);
|
||
|
Assert.assertNotNull(result);
|
||
|
Assert.assertTrue(result.toString().startsWith(output));
|
||
|
}
|
||
|
|
||
|
private void testEvalError(String input, String parseOutput){
|
||
|
TreeNode parsedTree = abacus.parseString(input);
|
||
|
Assert.assertNotNull(parsedTree);
|
||
|
Assert.assertEquals(parsedTree.toString(), parseOutput);
|
||
|
Assert.assertNull(abacus.evaluateTree(parsedTree));
|
||
|
}
|
||
|
|
||
|
}
|