Project 'ulrike.pado/asyst-moodle-plugin' was moved to 'knight/asyst-moodle-plugin'. Please update any links and bookmarks that may still have the old path.
Commit e1145f95 authored by Artem Baranovskyi's avatar Artem Baranovskyi
Browse files

Small Test structure refactoring.

parent 14748951
Showing with 54 additions and 47 deletions
+54 -47
<?php
return [
[
'questiontext' => 'Warum kann Ihr Programm durch die Verwendung von Threads schneller werden, auch wenn Sie nur einen einzigen Prozessor zur Verfügung haben?',
'qtype' => 'essay',
'answers' => [
'Die Ausführung wird schneller, weil der Prozessor zwischen verschiedenen Teilaufgaben hin- und herspringen kann und so z.B. Wartezeiten auf Daten in einem Thread zur Bearbeitung anderer Threads genutzt werden können.' => 1
]
],
[
'questiontext' => 'Warum wird Ihr Programm durch die Verwendung von Threads schneller, auch wenn Sie nur einen einzigen Prozessor zur Verfügung haben?',
'qtype' => 'essay',
'answers' => [
'Die Ausführung wird schneller, weil der Prozessor zwischen verschiedenen Teilaufgaben hin- und herspringen kann und so z.B. Wartezeiten auf Daten in einem Thread zur Bearbeitung anderer Threads genutzt werden können.' => 1
]
],
[
'questiontext' => 'Beschreiben Sie die Struktur einer Stream-Pipeline. Woher kommen die Daten, was geschieht im Stream mit ihnen, wie endet der Stream? Geben Sie für jeden Streamabschnitt mindestens eine Beispielkomponente an.',
'qtype' => 'essay',
'answers' => [
'Datenquelle: Collections, Arrays, Generatoren (z.B. Datenbankabfragen, eigene Methoden). Verarbeitung: Filtern, Umformung, Begrenzung. Datensenke: Minimum / Maximum / Durchschnitt / Anzahl, Ausgabe in Collection oder Array / Reduktion / Auswertung.' => 1
]
],
[
'questiontext' => 'Welche Auswirkungen hat die Model-View-Aufteilung bei Swing-Komponenten? Nennen Sie Beispiele anhand der Klasse JTable.',
'qtype' => 'essay',
'answers' => [
'Datenhaltung und Darstellung werden getrennt, so dass dieselben Daten flexibel dargestellt werden können. Datenhaltung findet in der Klasse TableModel statt: Welche Information steht in welcher Zelle? Information z.B. über die Editierbarkeit der Zellen, den zu verwendenden Editor und die Spaltenreihenfolge werden in JTable bzw. TableColumnModel gehalten.' => 3
]
],
[
'questiontext' => 'Warum braucht man bei der Arbeit mit Threads Synchronisation?',
'qtype' => 'essay',
'answers' => [
'Man muss vermeiden, dass verschiedene Threads gleichzeitig auf Daten oder Objekte zugreifen, weil es dadurch zur Zerstörung von Werten und zu inkonsistenten Zuständen kommen kann.' => 1
]
],
[
'questiontext' => 'Beantworten Sie kurz die 3 Fragen 1 - Was wird unter einem Thread verstanden / wann werden Threads benutzt ? (3 Pkt) 2 - Welche Ressourcen nutzt ein Thread exklusiv ? (2 Pkt) 3 - Welche Ressourcen teilen sich die Threads eines Programms ? (2 Pkt)',
'qtype' => 'essay',
'answers' => [
'Thread: 1 PT Ablauffaden, Ablaufeinheit, Ausführung etc. 1Pt Parallel, Quasi Parallel, Core, 1Pt Geschwindigkeit, Resourcenauslastung, parallele Ausführung' => 7
]
],
];
......@@ -58,50 +58,7 @@ class quiz_api_test extends advanced_testcase
]);
// Create questions and answers
$questions = [
[
'questiontext' => 'Warum kann Ihr Programm durch die Verwendung von Threads schneller werden, auch wenn Sie nur einen einzigen Prozessor zur Verfügung haben?',
'qtype' => 'essay',
'answers' => [
'Die Ausführung wird schneller, weil der Prozessor zwischen verschiedenen Teilaufgaben hin- und herspringen kann und so z.B. Wartezeiten auf Daten in einem Thread zur Bearbeitung anderer Threads genutzt werden können.' => 1
]
],
[
'questiontext' => 'Warum wird Ihr Programm durch die Verwendung von Threads schneller, auch wenn Sie nur einen einzigen Prozessor zur Verfügung haben?',
'qtype' => 'essay',
'answers' => [
'Die Ausführung wird schneller, weil der Prozessor zwischen verschiedenen Teilaufgaben hin- und herspringen kann und so z.B. Wartezeiten auf Daten in einem Thread zur Bearbeitung anderer Threads genutzt werden können.' => 1
]
],
[
'questiontext' => 'Beschreiben Sie die Struktur einer Stream-Pipeline. Woher kommen die Daten, was geschieht im Stream mit ihnen, wie endet der Stream? Geben Sie für jeden Streamabschnitt mindestens eine Beispielkomponente an.',
'qtype' => 'essay',
'answers' => [
'Datenquelle: Collections, Arrays, Generatoren (z.B. Datenbankabfragen, eigene Methoden). Verarbeitung: Filtern, Umformung, Begrenzung. Datensenke: Minimum / Maximum / Durchschnitt / Anzahl, Ausgabe in Collection oder Array / Reduktion / Auswertung.' => 1
]
],
[
'questiontext' => 'Welche Auswirkungen hat die Model-View-Aufteilung bei Swing-Komponenten? Nennen Sie Beispiele anhand der Klasse JTable.',
'qtype' => 'essay',
'answers' => [
'Datenhaltung und Darstellung werden getrennt, so dass dieselben Daten flexibel dargestellt werden können. Datenhaltung findet in der Klasse TableModel statt: Welche Information steht in welcher Zelle? Information z.B. über die Editierbarkeit der Zellen, den zu verwendenden Editor und die Spaltenreihenfolge werden in JTable bzw. TableColumnModel gehalten.' => 3
]
],
[
'questiontext' => 'Warum braucht man bei der Arbeit mit Threads Synchronisation?',
'qtype' => 'essay',
'answers' => [
'Man muss vermeiden, dass verschiedene Threads gleichzeitig auf Daten oder Objekte zugreifen, weil es dadurch zur Zerstörung von Werten und zu inkonsistenten Zuständen kommen kann.' => 1
]
],
[
'questiontext' => 'Beantworten Sie kurz die 3 Fragen 1 - Was wird unter einem Thread verstanden / wann werden Threads benutzt ? (3 Pkt) 2 - Welche Ressourcen nutzt ein Thread exklusiv ? (2 Pkt) 3 - Welche Ressourcen teilen sich die Threads eines Programms ? (2 Pkt)',
'qtype' => 'essay',
'answers' => [
'Thread: 1 PT Ablauffaden, Ablaufeinheit, Ausführung etc. 1Pt Parallel, Quasi Parallel, Core, 1Pt Geschwindigkeit, Resourcenauslastung, parallele Ausführung' => 7
]
],
];
$questions = include_once 'fakedata/questions.php';
// Create a question category
$context = context_course::instance($coursegen->id);
......@@ -110,13 +67,13 @@ class quiz_api_test extends advanced_testcase
foreach ($questions as $questiondata) {
// Create a question
$question = $questiongen->create_question($questiondata['qtype'], null, [
'category' => $category->id, // категория вопроса
'category' => $category->id, // question category
'questiontext' => [
'text' => $questiondata['questiontext'],
'format' => FORMAT_HTML,
],
'name' => 'Test Question',
'contextid' => $context->id, // Убедитесь, что контекст передается правильно
'contextid' => $context->id, // https://www.examulator.com/er/output/tables/question_usages.html - a contextid of question usage
'modifiedby' => $teacher->id,
]);
......
......@@ -30,8 +30,12 @@ Now the preinstalled MOODLE LMS is available at https://www.moodle.loc
**Note**: Bind https://www.moodle.loc to your localhost at **hosts** file depending on your OS.
## Running Unit Tests
To run only Plugin's Test please run at project's CLI:
To run only Plugin's Test please run at project's CLI (inside container):
~~~bash
vendor/bin/phpunit --testsuite local_asystgrade_testsuite
~~~
or run outside it:
~~~bash
docker-compose exec moodle vendor/bin/phpunit --testsuite local_asystgrade_testsuite
~~~
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment