Using Matlab classes in Grader

5 Ansichten (letzte 30 Tage)
Attila
Attila am 6 Jun. 2023
Kommentiert: Attila am 6 Jun. 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!

Antworten (1)

Cris LaPierre
Cris LaPierre am 6 Jun. 2023
Bearbeitet: Cris LaPierre am 6 Jun. 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

Kategorien

Mehr zu Write Unit Tests finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by