Search in sources :

Example 16 with StackMachineEntry

use of org.nhindirect.policy.impl.machine.StackMachineEntry in project nhin-d by DirectProject.

the class StackMachine_evaluateTest method testEvaluate_bitwiseAndBitSetOnOne_assertEquals.

public void testEvaluate_bitwiseAndBitSetOnOne_assertEquals() throws Exception {
    Vector<Opcode> stuffToProcess = new Vector<Opcode>();
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(0)));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.BITWISE_AND));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(0)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.EQUALS));
    StackMachine stMachine = new StackMachine();
    assertTrue(stMachine.evaluate(stuffToProcess));
    stuffToProcess = new Vector<Opcode>();
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(0)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.BITWISE_AND));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(0)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.EQUALS));
    stMachine = new StackMachine();
    assertTrue(stMachine.evaluate(stuffToProcess));
}
Also used : StackMachine(org.nhindirect.policy.impl.machine.StackMachine) StackMachineEntry(org.nhindirect.policy.impl.machine.StackMachineEntry) Opcode(org.nhindirect.policy.Opcode) Vector(java.util.Vector)

Example 17 with StackMachineEntry

use of org.nhindirect.policy.impl.machine.StackMachineEntry in project nhin-d by DirectProject.

the class StackMachine_evaluateTest method testEvaluate_notEnoughParamsForUnaryOperation_assertException.

public void testEvaluate_notEnoughParamsForUnaryOperation_assertException() throws Exception {
    final Vector<Opcode> stuffToProcess = new Vector<Opcode>();
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.LOGICAL_NOT));
    boolean exceptionOccured = false;
    final StackMachine stMachine = new StackMachine();
    try {
        stMachine.evaluate(stuffToProcess);
    } catch (IllegalStateException e) {
        exceptionOccured = true;
    }
    assertTrue(exceptionOccured);
}
Also used : StackMachine(org.nhindirect.policy.impl.machine.StackMachine) StackMachineEntry(org.nhindirect.policy.impl.machine.StackMachineEntry) Opcode(org.nhindirect.policy.Opcode) Vector(java.util.Vector)

Example 18 with StackMachineEntry

use of org.nhindirect.policy.impl.machine.StackMachineEntry in project nhin-d by DirectProject.

the class StackMachine_evaluateTest method testEvaluate_logicalOrNeitherTrue_assertFalse.

public void testEvaluate_logicalOrNeitherTrue_assertFalse() throws Exception {
    final Vector<Opcode> stuffToProcess = new Vector<Opcode>();
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(false)));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(false)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.LOGICAL_OR));
    final StackMachine stMachine = new StackMachine();
    assertFalse(stMachine.evaluate(stuffToProcess));
}
Also used : StackMachine(org.nhindirect.policy.impl.machine.StackMachine) StackMachineEntry(org.nhindirect.policy.impl.machine.StackMachineEntry) Opcode(org.nhindirect.policy.Opcode) Vector(java.util.Vector)

Example 19 with StackMachineEntry

use of org.nhindirect.policy.impl.machine.StackMachineEntry in project nhin-d by DirectProject.

the class StackMachine_evaluateTest method testEvaluate_bitwiseOrBitSetOnBoth_assertEquals.

public void testEvaluate_bitwiseOrBitSetOnBoth_assertEquals() throws Exception {
    final Vector<Opcode> stuffToProcess = new Vector<Opcode>();
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.BITWISE_OR));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.EQUALS));
    final StackMachine stMachine = new StackMachine();
    assertTrue(stMachine.evaluate(stuffToProcess));
}
Also used : StackMachine(org.nhindirect.policy.impl.machine.StackMachine) StackMachineEntry(org.nhindirect.policy.impl.machine.StackMachineEntry) Opcode(org.nhindirect.policy.Opcode) Vector(java.util.Vector)

Example 20 with StackMachineEntry

use of org.nhindirect.policy.impl.machine.StackMachineEntry in project nhin-d by DirectProject.

the class StackMachine_evaluateTest method testEvaluate_bitwiseAndBitSetOnBoth_assertEquals.

public void testEvaluate_bitwiseAndBitSetOnBoth_assertEquals() throws Exception {
    final Vector<Opcode> stuffToProcess = new Vector<Opcode>();
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.BITWISE_AND));
    stuffToProcess.add(new StackMachineEntry(PolicyValueFactory.getInstance(1)));
    stuffToProcess.add(new StackMachineEntry(PolicyOperator.EQUALS));
    final StackMachine stMachine = new StackMachine();
    assertTrue(stMachine.evaluate(stuffToProcess));
}
Also used : StackMachine(org.nhindirect.policy.impl.machine.StackMachine) StackMachineEntry(org.nhindirect.policy.impl.machine.StackMachineEntry) Opcode(org.nhindirect.policy.Opcode) Vector(java.util.Vector)

Aggregations

Vector (java.util.Vector)40 Opcode (org.nhindirect.policy.Opcode)40 StackMachine (org.nhindirect.policy.impl.machine.StackMachine)40 StackMachineEntry (org.nhindirect.policy.impl.machine.StackMachineEntry)40 X509Certificate (java.security.cert.X509Certificate)3 LiteralPolicyExpression (org.nhindirect.policy.LiteralPolicyExpression)3 OperationPolicyExpression (org.nhindirect.policy.OperationPolicyExpression)3 PolicyExpression (org.nhindirect.policy.PolicyExpression)3 StackMachineCompiler (org.nhindirect.policy.impl.machine.StackMachineCompiler)3 ExtendedKeyUsageExtensionField (org.nhindirect.policy.x509.ExtendedKeyUsageExtensionField)3 KeyUsageExtensionField (org.nhindirect.policy.x509.KeyUsageExtensionField)3