Using Matlab classes in Grader

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!

답변 (1개)

Cris LaPierre
Cris LaPierre 2023년 6월 6일
편집: Cris LaPierre 2023년 6월 6일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Write Unit Tests에 대해 자세히 알아보기

질문:

2023년 6월 6일

댓글:

2023년 6월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by