Using Matlab classes in Grader

2 vues (au cours des 30 derniers jours)
Attila
Attila le 6 Juin 2023
Commenté : Attila le 6 Juin 2023
I would like to use a Matlab class in Grader. The students should define a class myclass which is also implemented in the reference solution. According to the Matlab help,I use function based assessments:
%Student solution
y = myclass([1 2 3], 1)
% Run reference solution.
yReference = reference.myclass([1 2 3], 1)
% Compare.
assessVariableEqual('y', yReference);
The Pretest results say:
Variable y must be of data type reference.myclass. It is currently of type myclass. Check where the variable is assigned a value.
How should I solve this?
Thank you in advance!

Réponses (1)

Cris LaPierre
Cris LaPierre le 6 Juin 2023
Modifié(e) : Cris LaPierre le 6 Juin 2023
In my opinion, classes go a bit beyond what MATLAB Grader was designed for. Still, it is possible to create and use classes in a function-type problem in a somewhat limited manner. However, the assessVariableEqual function cannot be used to assess a class object directly.
Assessments that work
  • Check for the presence of methods by name
  • use the methods and ismethod functions to query all public, non constructor and non set/get methods.
  • Use the properties function to determine what public properties the class contains.
  • Use dot notation to access the value of public properties.
  • assessVariableEqual can compare values
  1 commentaire
Attila
Attila le 6 Juin 2023
Thank you very much

Connectez-vous pour commenter.

Catégories

En savoir plus sur Write Unit Tests dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by