@Override public boolean test(Object receiver,String property,Object[] args,Object expectedValue){
  if (IS_TYPESCRIPT_PROJECT_PROPERTY.equals(property)) {
    return testIsTypeScriptProject(receiver);
  }
 else   if (HAS_TYPESCRIPT_BUILDER_PROPERTY.equals(property)) {
    return testHasTypeScriptBuilder(receiver);
  }
 else   if (CAN_ADD_TO_BUILDPATH_PROPERTY.equals(property)) {
    return testCanAddToBuildPath(receiver);
  }
 else   if (CAN_REMOVE_TO_BUILDPATH_PROPERTY.equals(property)) {
    return testCanRemoveToBuildPath(receiver);
  }
 else   if (CAN_RUN_COMPILE_PROPERTY.equals(property)) {
    return testCanRunCompile(receiver);
  }
  return false;
}

@ Override public boolean test ( Object receiver , String property , Object [ ] args , Object expectedValue ) { if ( IS_TYPESCRIPT_PROJECT_PROPERTY . equals ( property ) ) { return testIsTypeScriptProject ( receiver ) ; } else if ( HAS_TYPESCRIPT_BUILDER_PROPERTY . equals ( property ) ) { return testHasTypeScriptBuilder ( receiver ) ; } else if ( CAN_ADD_TO_BUILDPATH_PROPERTY . equals ( property ) ) { return testCanAddToBuildPath ( receiver ) ; } else if ( CAN_REMOVE_TO_BUILDPATH_PROPERTY . equals ( property ) ) { return testCanRemoveToBuildPath ( receiver ) ; } else if ( CAN_RUN_COMPILE_PROPERTY . equals ( property ) ) { return testCanRunCompile ( receiver ) ; } return false ; }
tests if the receiver object is a project is a typescript project
