test_class.file: core/src/test/java/dk/alexandra/fresco/lib/generic/BroadcastValidationProtocolTest.java
test_class.identifier: BroadcastValidationProtocolTest
test_case.body: @Test
    public void testEvaluateWithTwoPartiesReturnsDone() {
      EvaluationStatus status = new BroadcastValidationProtocol<>(new byte[1])
          .evaluate(0, new ResourcePool() {
            @Override
            public int getMyId() {
              return 0;
            }
  
            @Override
            public int getNoOfParties() {
              return 2;
            }
          }, null);
      Assert.assertEquals(EvaluationStatus.IS_DONE, status);
    }
test_case.class_method_signature: BroadcastValidationProtocolTest.testEvaluateWithTwoPartiesReturnsDone()
test_case.full_signature: @Test public void testEvaluateWithTwoPartiesReturnsDone()
test_case.identifier: testEvaluateWithTwoPartiesReturnsDone
test_case.invocations: evaluate assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEvaluateWithTwoPartiesReturnsDone()
focal_class.declarator: input
focal_class.modifier: private final
focal_class.original_string: private final List<byte[]> input;
focal_class.type: List<byte[]>
focal_class.var_name: input
focal_class.declarator: broadcast
focal_class.modifier: private
focal_class.original_string: private SecureBroadcastUtil broadcast;
focal_class.type: SecureBroadcastUtil
focal_class.var_name: broadcast
focal_class.declarator: digest
focal_class.modifier: private
focal_class.original_string: private byte[] digest;
focal_class.type: byte[]
focal_class.var_name: digest
focal_class.file: core/src/main/java/dk/alexandra/fresco/lib/generic/BroadcastValidationProtocol.java
focal_class.identifier: BroadcastValidationProtocol
focal_class.interfaces: implements
      NativeProtocol<Void, ResourcePoolT>
focal_class.class_method_signature: BroadcastValidationProtocol.BroadcastValidationProtocol(List<byte[]> input)
focal_class.full_signature: public  BroadcastValidationProtocol(List<byte[]> input)
focal_class.identifier: BroadcastValidationProtocol
focal_class.modifiers: public
focal_class.parameters: (List<byte[]> input)
focal_class.signature:  BroadcastValidationProtocol(List<byte[]> input)
focal_class.class_method_signature: BroadcastValidationProtocol.BroadcastValidationProtocol(byte[] input)
focal_class.full_signature: public  BroadcastValidationProtocol(byte[] input)
focal_class.identifier: BroadcastValidationProtocol
focal_class.modifiers: public
focal_class.parameters: (byte[] input)
focal_class.signature:  BroadcastValidationProtocol(byte[] input)
focal_class.class_method_signature: BroadcastValidationProtocol.out()
focal_class.full_signature: @Override public Void out()
focal_class.identifier: out
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Void
focal_class.signature: Void out()
focal_class.class_method_signature: BroadcastValidationProtocol.evaluate(int round, ResourcePoolT resourcePool, Network network)
focal_class.full_signature: @Override public EvaluationStatus evaluate(int round, ResourcePoolT resourcePool, Network network)
focal_class.identifier: evaluate
focal_class.modifiers: @Override public
focal_class.parameters: (int round, ResourcePoolT resourcePool, Network network)
focal_class.return: EvaluationStatus
focal_class.signature: EvaluationStatus evaluate(int round, ResourcePoolT resourcePool, Network network)
focal_method.body: @Override
    public EvaluationStatus evaluate(int round, ResourcePoolT resourcePool, Network network) {
      if (resourcePool.getNoOfParties() <= 2) {
        return EvaluationStatus.IS_DONE;
      }
      if (round == 0) {
        broadcast = new SecureBroadcastUtil(network);
        digest = broadcast.computeAndSendDigests(input);
        return EvaluationStatus.HAS_MORE_ROUNDS;
      } else {
        broadcast.receiveAndValidateDigests(digest);
        return EvaluationStatus.IS_DONE;
      }
    }
focal_method.class_method_signature: BroadcastValidationProtocol.evaluate(int round, ResourcePoolT resourcePool, Network network)
focal_method.full_signature: @Override public EvaluationStatus evaluate(int round, ResourcePoolT resourcePool, Network network)
focal_method.identifier: evaluate
focal_method.invocations: getNoOfParties computeAndSendDigests receiveAndValidateDigests
focal_method.modifiers: @Override public
focal_method.parameters: (int round, ResourcePoolT resourcePool, Network network)
focal_method.return: EvaluationStatus
focal_method.signature: EvaluationStatus evaluate(int round, ResourcePoolT resourcePool, Network network)