% Programa para comprobar el resultado de la practica 09 de Informatica
%
% Departamento de Matematicas e Informatica
% ETSI Caminos, Canales y Puertos
% Universidad Politecnica de Madrid
%
% (c) 2013 Israel Herraiz <israel.herraiz@upm.es>

function CompruebaModulo2(prog)

input = @(x) -50;

eval(prog);

input = @(x) 31;

eval(prog);

input = @(x) 32;

eval(prog);

input = @(x) 33;

eval(prog);

input = @(x) 211;

eval(prog);

input = @(x) 212;

eval(prog);

input = @(x) 213;

eval(prog);

input = @(x) 500;

eval(prog);


clear input fprintf compruebaMensaje;

end


function fprintf(m,a,b)

  if nargin == 2
    compruebaMensaje(m,a);  
  end
end

function compruebaMensaje(m,a)

  if a < 32
    disp('Probando temperatura de HIELO...');
    sBueno = '%.2f F corresponden a HIELO\n';
  elseif a > 212
    disp('Probando temperatura de VAPOR...');
    sBueno = '%.2f F corresponden a VAPOR\n';
  else
    return;
  end
  
  if strcmp(m, sBueno)
    disp(' ** OK: Mensaje correcto');
  elseif strcmp(lower(m), lower(sBueno))
    disp(' ** WARN: No coinciden mayusculas/minusculas en el mensaje');    
  elseif validatestring(lower(m), {lower(sBueno)})
    disp(' ** WARN: Falta salto de linea final u otros caracteres en el mensaje');
  else
    disp(' ** ERR: Mensaje de salida no correcto');
  end

end