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))
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))
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)