¿Cómo aplico una directiva AngularJS basada en una clase establecida por ng-class?

Estoy tratando de aplicar condicionalmente una directiva a un elemento basado en su clase.

Aquí hay un caso simple de mi problema,ver los resultados en este violín.. Para este ejemplo, estoy usando el mapa de nombres de clase a la forma booleana deng-class contrue; en mi caso real me gustaría usar el resultado booleano de una función.

Margen:

<div ng-app="example">
  <div class="testcase">
    This will have the directive applied as I expect
  </div>
  <div ng-class="{'testcase':true}">
    This will not have the directive applied but I expect it to
  </div>
</div>

JS:

angular.module('example', [])
  .directive('testcase', function() {
      return {
          restrict: 'C',
          link: function(scope, element, attrs) {
              element.css('color', 'red');
          }
      }
    }
  );

¿Por qué la directiva no se aplica a ladiv eso es conseguir su clase a travésng-class? ¿Estoy malinterpretando algo sobre el orden en que AngularJS está procesando las directivas?

¿Cómo debo aplicar condicionalmente una directiva a un elemento basado en la evaluación de una expresión?

Respuestas a la pregunta(3)

Su respuesta a la pregunta