FOP-2425-Marathon/solution/H00/src/graderPrivate/java/h00/H00_RubricProvider.java

90 lines
4.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package h00;
import org.sourcegrade.jagr.api.rubric.Criterion;
import org.sourcegrade.jagr.api.rubric.JUnitTestRef;
import org.sourcegrade.jagr.api.rubric.Rubric;
import org.sourcegrade.jagr.api.rubric.RubricProvider;
import org.tudalgo.algoutils.tutor.general.json.JsonParameterSet;
import static org.tudalgo.algoutils.tutor.general.jagr.RubricUtils.criterion;
public class H00_RubricProvider implements RubricProvider {
public static final Rubric RUBRIC = Rubric.builder()
.title("H00 | Hands on mit Java & FopBot").addChildCriteria(
Criterion.builder()
.shortDescription("H0.1 | Matrikelnummer in Moodle")
.build(),
Criterion.builder()
.shortDescription("H0.4 | Initializing FOPBot")
.addChildCriteria(
criterion(
"Der Konstruktor von Robot wurde für Alfred und Kaspar mit korrekten Parametern aufgerufen.",
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testRobotInit", JsonParameterSet.class))
)
)
.build(),
Criterion.builder()
.shortDescription("H0.5 | Lets start with turning")
.addChildCriteria(
criterion(
"Beide Roboter haben die korrekte Anzahl an Drehungen durch geführt.",
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_5_1", JsonParameterSet.class)),
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_5_2", JsonParameterSet.class)),
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_5_3", JsonParameterSet.class))
),
criterion(
"Es wurden bis hierhin genau eine for- und eine while-Schleife benutzt.",
-1,
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_5VA"))
)
)
.minPoints(0)
.build(),
Criterion.builder()
.shortDescription("H0.6 | Now we move, put, and pick")
.addChildCriteria(
criterion(
"Beide Roboter haben die korrekten Bewegungen durchgeführt (move, turnLeft, pick, put).",
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_6_1", JsonParameterSet.class)),
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_6_2", JsonParameterSet.class)),
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_6_3", JsonParameterSet.class))
),
criterion(
"Es wurde genau eine zusätzliche for-Schleife benutzt.",
-1,
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_6VA"))
)
)
.minPoints(0)
.build(),
Criterion.builder()
.shortDescription("H0.7 | Lets repeat that")
.addChildCriteria(
criterion(
"Beide Roboter haben die korrekten Bewegungen durchgeführt (move, turnLeft, pick, put).",
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_7_1", JsonParameterSet.class)),
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_7_2", JsonParameterSet.class)),
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_7_3", JsonParameterSet.class))
),
criterion(
"Es wurden genau eine zusätzliche for-Schleife und zwei zusätzliche while-Schleifen benutzt.",
-1,
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_7VA"))
),
criterion(
"Die Läufervariable der for-Schleife verringert sich.",
-1,
JUnitTestRef.ofMethod(() -> MainTest.class.getDeclaredMethod("testH0_7VA_ForLoop"))
)
)
.minPoints(0)
.build()
).build();
@Override
public Rubric getRubric() {
return RUBRIC;
}
}