Usar múltiples directivas en require con Angularjs

Tengo la situación en la que necesito acceso a varios métodos de controlador de directivas.

Puedo acceder a un método desde una directiva principal usando require de esta manera:

    require:"^parentDirective"

pero también necesito acceder a un método dentro de una directiva separada (no un padre), la documentación dice queusar una serie de cadenas al igual que:

    require:["^parentDirective","directiveTwo"] 

pero hacerlo provoca errores, aunque ambas directivas se han compilado en el DOM.

¿Me estoy perdiendo de algo?

Aquí está mi directiva:

    angular.module('testModule', ['parentModule'], function () {
    }).directive('testDirective', function() {
        return {
            restrict: 'AE',
            templateUrl: 'testTemplate.tpl.html',
            scope: {
                value1: "=",
                value2: "="
            },  
            require:['^parentDirective','otherDirective'],
            controller: function($scope,$modal,socketConnection) {

                if(case_x == true){
                    $scope.requiredController_1.ctrl1Func();
                }
                else if(case_x == false){
                    $scope.requiredController_2.ctrl2Func();
                }


            },
            link: function(scope,element,attrs,requiredController_1,requiredController_2){

                scope.requiredController_1 = requiredController_1;
                scope.requiredController_2 = requiredController_2;

            }

        };

    });

Respuestas a la pregunta(2)

Su respuesta a la pregunta