use of org.nhindirect.policy.impl.machine.StackMachine in project nhin-d by DirectProject.
the class StackMachineCompiler_compileTest method testCompile_simpleBinaryLiteralOperation_assertEntriesAndEvaluation.
public void testCompile_simpleBinaryLiteralOperation_assertEntriesAndEvaluation() throws Exception {
// build the expression
final PolicyValue<Integer> op1 = PolicyValueFactory.getInstance(1);
final PolicyValue<Integer> op2 = PolicyValueFactory.getInstance(1);
final LiteralPolicyExpression<Integer> expr1 = LiteralPolicyExpressionFactory.getInstance(op1);
final LiteralPolicyExpression<Integer> expr2 = LiteralPolicyExpressionFactory.getInstance(op2);
final Vector<PolicyExpression> operands = new Vector<PolicyExpression>();
operands.add(expr1);
operands.add(expr2);
final OperationPolicyExpression oper = OperationPolicyExpressionFactory.getInstance(PolicyOperator.EQUALS, operands);
final StackMachineCompiler compiler = new StackMachineCompiler();
final Vector<Opcode> entries = compiler.compile(null, oper);
assertEquals(3, entries.size());
assertEquals(op1, ((StackMachineEntry) entries.get(0)).getValue());
assertEquals(op2, ((StackMachineEntry) entries.get(1)).getValue());
assertEquals(PolicyOperator.EQUALS, ((StackMachineEntry) entries.get(2)).getOperator());
// execute the compiled expression in the stack machine
final StackMachine machine = new StackMachine();
final Boolean evalVal = machine.evaluate(entries);
assertTrue(evalVal);
}
use of org.nhindirect.policy.impl.machine.StackMachine in project nhin-d by DirectProject.
the class StackMachine_createOperatorExecutorTest method testCreateLogicalAndOperator.
public void testCreateLogicalAndOperator() throws Exception {
StackMachine stMachine = new StackMachine();
BinaryBooleanPolicyOperatorExecutor<?, ?> executor = BinaryBooleanPolicyOperatorExecutor.class.cast(stMachine.createOperatorExecutor(PolicyOperator.LOGICAL_AND, PolicyValueFactory.getInstance("12345"), PolicyValueFactory.getInstance("12345")));
assertNotNull(executor);
}
use of org.nhindirect.policy.impl.machine.StackMachine in project nhin-d by DirectProject.
the class StackMachine_createOperatorExecutorTest method testCreateRegExOperator.
public void testCreateRegExOperator() throws Exception {
StackMachine stMachine = new StackMachine();
BinaryBooleanPolicyOperatorExecutor<?, ?> executor = BinaryBooleanPolicyOperatorExecutor.class.cast(stMachine.createOperatorExecutor(PolicyOperator.REG_EX, PolicyValueFactory.getInstance("12345"), PolicyValueFactory.getInstance("12345")));
assertNotNull(executor);
}
use of org.nhindirect.policy.impl.machine.StackMachine in project nhin-d by DirectProject.
the class StackMachine_createOperatorExecutorTest method testCreateBitwiseOrOperator.
public void testCreateBitwiseOrOperator() throws Exception {
StackMachine stMachine = new StackMachine();
BinaryIntegerPolicyOperatorExecutor<?, ?> executor = BinaryIntegerPolicyOperatorExecutor.class.cast(stMachine.createOperatorExecutor(PolicyOperator.BITWISE_OR, PolicyValueFactory.getInstance(12345), PolicyValueFactory.getInstance(12345)));
assertNotNull(executor);
}
use of org.nhindirect.policy.impl.machine.StackMachine in project nhin-d by DirectProject.
the class StackMachine_createOperatorExecutorTest method testCreateBitwiseAndOperator.
public void testCreateBitwiseAndOperator() throws Exception {
StackMachine stMachine = new StackMachine();
BinaryIntegerPolicyOperatorExecutor<?, ?> executor = BinaryIntegerPolicyOperatorExecutor.class.cast(stMachine.createOperatorExecutor(PolicyOperator.BITWISE_AND, PolicyValueFactory.getInstance(12345), PolicyValueFactory.getInstance(12345)));
assertNotNull(executor);
}
Aggregations