コード例 #1
0
  def test_raises_type_error_with_unplaced_type(self, executor, num_clients):
    del num_clients  # Unused.
    value, type_signature = executor_test_utils.create_dummy_value_unplaced()

    value = self.run_sync(executor.create_value(value, type_signature))

    with self.assertRaises(TypeError):
      self.run_sync(
          executor_utils.compute_intrinsic_federated_broadcast(executor, value))
コード例 #2
0
  def test_raises_type_error_with_federated_type_at_clients(
      self, executor, num_clients):
    value, type_signature = executor_test_utils.create_whimsy_value_at_clients(
        num_clients)

    value = self.run_sync(executor.create_value(value, type_signature))

    with self.assertRaises(TypeError):
      self.run_sync(
          executor_utils.compute_intrinsic_federated_broadcast(executor, value))
コード例 #3
0
  def test_returns_value_with_federated_type_at_server(self, executor,
                                                       num_clients):
    del num_clients  # Unused.
    value, type_signature = executor_test_utils.create_whimsy_value_at_server()

    value = self.run_sync(executor.create_value(value, type_signature))
    result = self.run_sync(
        executor_utils.compute_intrinsic_federated_broadcast(executor, value))

    self.assertIsInstance(result, executor_value_base.ExecutorValue)
    expected_type = computation_types.at_clients(
        type_signature.member, all_equal=True)
    self.assertEqual(result.type_signature.compact_representation(),
                     expected_type.compact_representation())
    actual_result = self.run_sync(result.compute())
    self.assertEqual(actual_result, 10.0)